Perpustakaan ini menyediakan kelas-kelas yang mengimplementasikan klien REST dasar berdasarkan ekstensi cURL PHP. Dua kelas klien tersedia:
RestClient - kelas untuk menjalankan panggilan layanan RESTful.
RestMultiClient - kelas yang memperluas RestClient untuk menyediakan kemampuan curl_multi untuk memungkinkan beberapa panggilan RESTful dilakukan secara paralel.
Selain itu, perpustakaan ini menyediakan kelas yang membungkus respons curl dalam antarmuka berorientasi objek:
CurlHttpResponse - kelas yang merangkum respons HTTP yang diterima melalui cURL ke dalam pembungkus kelas.
CurlMultiHttpResponse - kelas yang mewakili kumpulan objek CurlHttpRepsonse yang dikembalikan dari beberapa panggilan cURL paralel.
Kelas-kelas ini mendukung:
Tindakan HTTP - GET, POST, PUT, DELETE, dan HEAD
Otentikasi dasar
SSL, dengan kemampuan untuk mengaktifkan validasi sertifikat SSL untuk membantu dalam lingkungan pengembangan/pengujian
Memerlukan:
PHP 5.6+
Ekstensi PHP Curl
PHPUnit 5.7+ (hanya untuk pengujian unit)
Pustaka ini dikembangkan dengan PHP 7.1 dan diuji melalui Travis CI terhadap:
PHP 5.6.*
PHP 7.0.*
PHP 7.1.*
Pembuatan PHP Malam Hari
Dokumentasi perpustakaan lengkap
Status pembuatan Travis CI
Kode Cakupan kode iklim dan informasi kesehatan
Halaman pembuat paket
Contoh penggunaan:
<?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', ...]);