API Client类的真实示例


Real examples of a API Client class

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

每当我搜索一个PHP API客户端时,它提供了太多关于构建API本身的信息,除了curl示例之外,几乎没有提供真正的访问方法。如果一个PHP类包含一个好的curl方法和处理请求的方法,那就更好了。我通过实例和大量的重新安排来学习。

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

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;
    }
}

试试Guzzle:

Guzzle消除了发送HTTP请求和冗余的痛苦退出创建web服务客户端。

Guzzle是一个框架,它包含了创建一个健壮的web服务客户端,包括定义API的输入和输出,用于的资源迭代器遍历分页资源,批量发送大量的请求尽可能高效。