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();