reflect/client

用于通过HTTP或UNIX套接字与Reflect API通信的可扩展PHP接口

3.0.6 2024-04-06 14:55 UTC

This package is auto-updated.

Last update: 2024-09-06 15:57:08 UTC


README

从PHP应用程序向使用Reflect API框架构建的API发送请求。

安装

  1. 使用composer安装
composer require reflect/client
  1. 在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();