php rest client
1.0.0
该库提供了基于 PHP 的 cURL 扩展实现基本 REST 客户端的类。 提供两个客户端类别:
RestClient - 用于执行 RESTful 服务调用的类。
RestMultiClient - 扩展 RestClient 以提供curl_multi 功能的类,以允许并行进行多个 RESTful 调用。
此外,该库提供了将curl响应包装在面向对象的接口中的类:
CurlHttpResponse - 一个类,它将通过 cURL 接收到的 HTTP 响应封装到类包装器中。
CurlMultiHttpResponse - 一个类,表示从多个并行 cURL 调用返回的 CurlHttpRepsonse 对象的集合。
这些类支持:
HTTP 操作 - GET、POST、PUT、DELETE 和 HEAD
基本身份验证
SSL,能够切换 SSL 证书验证以帮助开发/测试环境
要求:
PHP 5.6+
PHP cURL 扩展
PHPUnit 5.7+(仅适用于单元测试)
该库是针对 PHP 7.1 开发的,并通过 Travis CI 进行测试:
PHP 5.6.*
PHP 7.0.*
PHP 7.1.*
PHP 每晚构建
完整的库文档
Travis CI 构建状态
代码气候代码覆盖范围和健康信息
包装专家页面
使用示例:
<?php use MikeBrantRestClientLib; /** * Single request using RestClient */ $restClient = new RestClient(); $restClient->setRemoteHost('foo.bar.com') ->setUriBase('/some_service/') ->setUseSsl(true) ->setUseSslTestMode(false) ->setBasicAuthCredentials('username', 'password') ->setHeaders(array('Accept' => 'application/json')); // make requests against service $response = $restClient->get('resource'); $response = $restClient->post('resource', $data); $response = $restClient->put('resource', $data); $response = $restClient->delete('resource'); $response = $restClient->head('resource'); /** * Multiple parallel requests using RestMultiClient */ $restMultiClient = new RestMultiClient(); $restMultiClient->setRemoteHost('foo.bar.com') ->setUriBase('/some_service/') ->setUseSsl(true) ->setUseSslTestMode(false) ->setBasicAuthCredentials('username', 'password') ->setHeaders(array('Accept' => 'application/json')); // make requests against service $responses = $restMultiClient->get(['resource1', 'resource2', ...]); $responses = $restMultiClient->post(['resource1', 'resource2', ...], [$data1, $data2, ...]); $responses = $restMultiClient->put(['resource1', 'resource2', ...], [$data1, $data2, ...]); $responses = $restMultiClient->delete(['resource1', 'resource2', ...]); $responses = $restMultiClient->head(['resource1', 'resource2', ...]);