ไลบรารีนี้มีคลาสที่ใช้ไคลเอนต์ REST พื้นฐานโดยอิงตามส่วนขยาย cURL ของ PHP มีคลาสไคลเอนต์สองคลาสให้เลือก:
RestClient - คลาสสำหรับเรียกใช้บริการ RESTful
RestMultiClient - คลาสที่ขยาย RestClient เพื่อให้มีความสามารถ curl_multi เพื่อให้สามารถเรียก RESTful หลายรายการพร้อมกันได้
นอกจากนี้ ไลบรารีนี้ยังจัดให้มีคลาสที่ตัดการตอบสนองของขดภายในอินเทอร์เฟซเชิงวัตถุ:
CurlHttpResponse - คลาสที่ห่อหุ้มการตอบสนอง HTTP ที่ได้รับผ่าน cURL ลงในคลาส wrapper
CurlMultiHttpResponse - คลาสที่แสดงถึงคอลเลกชันของวัตถุ CurlHttpRepsonse ที่ส่งคืนจากการเรียก cURL แบบขนานหลายรายการ
คลาสเหล่านี้รองรับ:
การดำเนินการ HTTP - GET, POST, PUT, DELETE และ HEAD
การรับรองความถูกต้องขั้นพื้นฐาน
SSL พร้อมความสามารถในการสลับการตรวจสอบใบรับรอง SSL เพื่อช่วยในการพัฒนา/ทดสอบสภาพแวดล้อม
กำหนดให้มี:
PHP 5.6+
ส่วนขยาย PHP cURL
PHPUnit 5.7+ (สำหรับการทดสอบหน่วยเท่านั้น)
ไลบรารีนี้ได้รับการพัฒนาโดยเทียบกับ PHP 7.1 และทดสอบผ่าน Travis CI กับ:
พีพี 5.6.*
พีพี 7.0.*
พีพี 7.1.*
PHP Nightly สร้าง
เอกสารห้องสมุดฉบับเต็ม
สถานะการสร้าง 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', ...]);