이 라이브러리는 PHP의 cURL 확장을 기반으로 기본 REST 클라이언트를 구현하는 클래스를 제공합니다. 두 가지 클라이언트 클래스를 사용할 수 있습니다.
RestClient - RESTful 서비스 호출을 실행하기 위한 클래스입니다.
RestMultiClient - 여러 RESTful 호출이 병렬로 이루어질 수 있도록 하는 컬_멀티 기능을 제공하기 위해 RestClient를 확장하는 클래스입니다.
또한 이 라이브러리는 객체 지향 인터페이스 내에서 컬 응답을 래핑하는 클래스를 제공합니다.
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', ...]);