reflect / client
用于通过HTTP或UNIX套接字与Reflect API通信的可扩展PHP接口
README
从PHP应用程序向使用Reflect API框架构建的API发送请求。
安装
- 使用composer安装
composer require reflect/client
- 在PHP代码中使用
use
use Reflect\Client; $client = new Client(string $api_base_url, ?string $api_key, ?bool $verify_peer = true);
调用API
首先使用API的基本URL和一个可选的API密钥初始化Client
use Reflect\Client; use Reflect\Method; $client = new Client("https://api.example.com", "MyApiKey");
定义一个端点
通过将端点字符串传递给call()方法来开始一个新的API调用
Client->call(string $endpoint): self
示例
$client->call("my/endpoint");
(可选) 搜索参数
将键值对的关联数组传递给params(),并在get()、patch()、put()、post()或delete()请求之前链式调用,以设置当前请求的搜索($_GET)参数。
Client->params(?array $params = null): self
示例
// https://api.example.com/my/endpoint?key1=value1&key2=value2 $client->call("my/endpoint") ->params([ "key1" => "value1", "key2" => "value2" ]);
GET 请求
通过在方法链末尾链式调用get()来执行GET请求。此方法将返回一个Reflect\Response对象。
Client->get(): Reflect\Response;
示例
$client->call("my/endpoint")->params(["foo" => "bar"])->get();
POST 请求
通过在方法链末尾链式调用post()来执行POST请求。此方法将返回一个Reflect\Response对象。
将可序列化为键值对的关联数组传递给post(),作为JSON编码的请求体发送到端点。
Client->post(array $payload): Reflect\Response;
示例
$client->call("my/endpoint")->params(["foo" => "bar"])->post(["baz" => "qux"]);
PATCH 请求
通过在方法链末尾链式调用patch()来执行PATCH请求。此方法将返回一个Reflect\Response对象。
将可序列化为键值对的关联数组传递给patch(),作为JSON编码的请求体发送到端点。
Client->patch(array $payload): Reflect\Response;
示例
$client->call("my/endpoint")->params(["foo" => "bar"])->patch(["baz" => "qux"]);
PUT 请求
通过在方法链末尾链式调用put()来执行PUT请求。此方法将返回一个Reflect\Response对象。
将可序列化为键值对的关联数组传递给put(),作为JSON编码的请求体发送到端点。
Client->put(array $payload): Reflect\Response;
示例
$client->call("my/endpoint")->params(["foo" => "bar"])->put(["baz" => "qux"]);
DELETE 请求
通过在方法链末尾链式调用delete()来执行DELETE请求。此方法将返回一个Reflect\Response对象。
将可选的可序列化为键值对的关联数组传递给delete(),作为JSON编码的请求体发送到端点。
Client->delete(?array $payload = null): Reflect\Response;
示例
$client->call("my/endpoint")->params(["foo" => "bar"])->delete();
OPTIONS 请求
通过在方法链末尾链式调用options()来执行OPTIONS请求。此方法将返回一个Reflect\Response对象。
使用此方法查询Reflect以获取可用的请求方法。
Client->options(): Reflect\Response;
示例
$client->call("my/endpoint"))->options();