Diese Bibliothek stellt Klassen bereit, die grundlegende REST-Clients basierend auf der cURL-Erweiterung von PHP implementieren. Es stehen zwei Client-Klassen zur Verfügung:
RestClient – eine Klasse zum Ausführen von RESTful-Dienstaufrufen.
RestMultiClient – eine Klasse, die RestClient erweitert, um curl_multi-Funktionen bereitzustellen, mit denen mehrere RESTful-Aufrufe parallel durchgeführt werden können.
Darüber hinaus stellt diese Bibliothek Klassen bereit, die Curl-Antworten in eine objektorientierte Schnittstelle einschließen:
CurlHttpResponse – eine Klasse, die eine über cURL empfangene HTTP-Antwort in einen Klassen-Wrapper kapselt.
CurlMultiHttpResponse – eine Klasse, die eine Sammlung von CurlHttpRepsonse-Objekten darstellt, die von mehreren parallelen cURL-Aufrufen zurückgegeben werden.
Diese Klassen unterstützen:
HTTP-Aktionen – GET, POST, PUT, DELETE und HEAD
Basisauthentifizierung
SSL, mit der Möglichkeit, die SSL-Zertifikatsvalidierung umzuschalten, um in Entwicklungs-/Testumgebungen zu helfen
Erfordert:
PHP 5.6+
PHP cURL-Erweiterung
PHPUnit 5.7+ (nur für Unit-Tests)
Diese Bibliothek wurde für PHP 7.1 entwickelt und über Travis CI getestet gegen:
PHP 5.6.*
PHP 7.0.*
PHP 7.1.*
PHP Nightly-Build
Vollständige Bibliotheksdokumentation
Travis CI-Build-Status
Code-Klimacode-Abdeckung und Gesundheitsinformationen
Packagist-Seite
Anwendungsbeispiel:
<?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', ...]);