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', ...]);