API Client类的真实示例

Bry*_*yan 2 php api client

我试图找到一个访问分布式API的PHP类的简单示例.

每当我搜索PHP API客户端时,它都会提供有关构建API本身的太多信息,而在curl示例之外的实际访问方法方面几乎没有.包含一个好的curl方法和处理请求的方法的PHP类会很好.我通过实例和许多重新安排来学习.

我开始使用一个构造来捕获常用的连接设置:

private $hosts = array( URI_1,  URI_2,  URI_3);
private $users = array( USER_1, USER_2, USER_3);
private $pass =  array( PASS_1, PASS_2, PASS_3);

    public function __construct($request = array())
    {
        if (is_array($request)) {
        if(isset($request['hostname'])) {
            if(in_array($request['hostname'], $hosts)) {
                $this->input['hostname'] = $request['hostname'];
            }
        }
        if (isset($request['username'])) {
            if(in_array($request['username'], $users)) {
                $this->input['username'] = $request['username'];
            }
        }
        if (isset($request['password'])) {
            if (in_array($request['password'], $pass)) {
                $this->input['password'] = $request['password'];
            }
        }
        if (isset($this->input['hostname']) &&
                isset($this->input['username']) &&
                isset($this->input['password'])) {
            return true;
        }
    } else {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

一些简单的最佳实践示例将使这更容易.

Rom*_*aza 6

试试Guzzle:

Guzzle消除了发送HTTP请求和创建Web服务客户端之外的冗余的痛苦.

Guzzle是一个框架,其中包含创建健壮的Web服务客户端所需的工具,包括:用于定义API的输入和输出的服务描述,用于遍历分页资源的资源迭代器,用于尽可能高效地发送大量请求的批处理.