iamserjo / php-http-client
HTTP REST 客户端,为 PHP 简化
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ~4.4
- squizlabs/php_codesniffer: ~2.0
README
快速轻松地访问任何 RESTful 或类似 RESTful 的 API。
如果您正在寻找 SendGrid API 客户端库,请参阅此存储库。
公告
本库的所有更新均在我们的变更日志中有记录。
目录
安装
先决条件
- PHP 版本 5.6, 7.0, 7.1, 7.2, 7.3 或 7.4
使用 Composer 安装
将 php-http-client 添加到您的 composer.json
文件。如果您没有使用Composer,您应该使用它。这是管理 PHP 应用程序依赖项的绝佳方式。
{ "require": { "sendgrid/php-http-client": "^3.10.6" } }
然后在您的 PHP 脚本顶部 require 自动加载器
require __DIR__ . '/vendor/autoload.php';
然后从命令行
composer install
不使用 Composer 安装
您应该在应用程序目录中创建一个 lib
目录,并将 php-http-client
和 sendgrid-php 存储库克隆到 lib
目录中。
$ cd /path/to/your/app
$ mkdir lib
$ cd lib
$ git clone https://github.com/sendgrid/php-http-client.git
在下一步中,您应该创建 loader.php
$ cd /path/to/your/app
$ touch loader.php
然后在 loader.php
中添加以下代码
<?php require_once __DIR__ . '/lib/php-http-client/lib/Client.php'; require_once __DIR__ . '/lib/php-http-client/lib/Response.php';
之后,您可以在项目中使用 php-http-client
库
<?php include __DIR__ . '/loader.php'; $client = new SendGrid\Client();
快速入门
以下是一个快速示例
GET /your/api/{param}/call
// include __DIR__ . '/loader.php'; require 'vendor/autoload.php'; $apiKey = YOUR_SENDGRID_API_KEY; $authHeaders = [ 'Authorization: Bearer ' . $apiKey ]; $client = new SendGrid\Client('https://api.sendgrid.com', $authHeaders); $param = 'foo'; $response = $client->your()->api()->_($param)->call()->get(); var_dump( $response->statusCode(), $response->headers(), $response->body() );
POST /your/api/{param}/call
,带有标题、查询参数和带版本控制的请求正文。
// include __DIR__ . '/loader.php'; require 'vendor/autoload.php'; $apiKey = YOUR_SENDGRID_API_KEY; $authHeaders = [ 'Authorization: Bearer ' . $apiKey ]; $client = new SendGrid\Client('https://api.sendgrid.com', $authHeaders); $queryParams = [ 'hello' => 0, 'world' => 1 ]; $requestHeaders = [ 'X-Test' => 'test' ]; $data = [ 'some' => 1, 'awesome' => 2, 'data' => 3 ]; $param = 'bar'; $response = $client->your()->api()->_($param)->call()->post($data, $queryParams, $requestHeaders); var_dump( $response->statusCode(), $response->headers(), $response->body() );
如果有请求问题,例如配置错误的 CURL SSL 选项,将抛出包含 CURL 失败原因的消息的 InvalidRequest
异常。将消息用作您环境故障排除步骤的线索。
用法
环境变量
您可以通过以下方式创建一个 .env 文件
cp .env_example .env
然后,只需将您的 API 密钥添加到您的 .env 文件中。
路线图
如果您对该项目的未来方向感兴趣,请查看我们的里程碑。我们非常乐意听到您的反馈。
如何贡献
我们鼓励为我们的库做出贡献,请参阅我们的贡献指南以获取详细信息。
快速链接
感谢
我们受到了birdy 和 universalclient 的工作的启发。
关于
php-http-client 由 Twilio SendGrid,Inc 维护和资助。php-http-client 的名称和标志是 Twilio SendGrid,Inc 的商标。
如果您需要安装或使用此库的帮助,请检查Twilio SendGrid 支持帮助中心。
如果您在库中发现了错误或希望添加新功能,请在此存储库中打开问题或拉取请求!