2

我试图找到一些访问分布式 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;
    }
}

一些最佳实践的简单示例将使这变得容易得多。

4

1 回答 1

6

试试Guzzle

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

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

于 2012-12-28T01:33:12.840 回答