php如何写api接口?

PHPz
PHPz 原创
2020-06-11 15:08:10 3651浏览

对于php的入学者来说,很少接触api,因此对于如何写不知所措,其实开发API 比开发WEB 更简洁,但可能逻辑更复杂,因为API 其实就是数据输出,不用呈现页面,所以也就不存在MVC(API 只有M 和C),和WEB 开发一样,首先需要一些相关的参数,这些参数,都会由客户端传过来,也许是GET也许是POST,这个需要开发团队相互之间约定好,或者制定统一规范。

1.png

有了参数,根据应用需求,完成数据处理,例如:任务进度更新、APP内购、一局游戏结束数据提交等等。数据逻辑处理完之后,返回客户端所需要用到的相关数据,例如:任务状态、内购结果、玩家信息等等数据怎么返给客户端?直接输出的形式,如:JSON、XML、TEXT 等等。

客户端获取到你返回的数据后,在客户端本地和用户进行交互临时写的一个简单API。

$url = 'http://localhost/openUser.php?act=get_user_list&type=json';
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt ( $ch, CURLOPT_POST, 1 ); //启用POST提交
$file_contents = curl_exec ( $ch );
curl_close( $ch );

php API接口最基本的写法

<?php
namespace Home\Controller;
use Think\Controller;
interface iTemplate//首先要定义接口的方法,在里面定义了,下面的类里面就必须用到这些方法,否则就会报错的。
{  
    public function index($name, $var);
    public function setVariable($name, $var);
    public function getHtml($template);
}
class ApiController implements iTemplate
{
    private $vars = array(); 
 
    public function index($name='jiazuqian', $var='select')
    {
        $this->vars[$name] = $var;
        //dump($this->vars[$name]);
    }
 
    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
  
    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }
 
        return $template;
    }
}
?>

更多相关知识,请访问 PHP中文网!!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。