icemont / curlwrapper
Simplest OOP CURL Wrapper.
v2.0.1
2023-09-27 23:41 UTC
Requires
- php: >=8.0
- ext-curl: *
- ext-json: *
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
The simplest and smallest OOP wrapper for PHP cURL with no overhead.
Designed to test and work with simple RestFull and JSON APIs and execute simple queries.
Installation
$ composer require icemont/curlwrapper
Usage
Example POST request with custom header and data
File: examples/simple_request.php
use Icemont\cURL\CurlWrapper; $curl = new CurlWrapper(); /* * Preparing request */ $curl->setTimeout(5) ->setUserAgent('Mozilla/5.0 (compatible; CurlWrapper/2.0)') ->setReferer('https://example.com/') ->addHeader('API-Key: TEST_KEY') ->addData('test', 'value') ->addData('param2', 'value2') ->addDataFromArray([ 'fromArray1' => 'valueA', 'fromArray2' => 'valueB', ]); /** * Executing the query */ var_dump($curl->postRequest('https://httpbin.org/post')); echo 'Request response code: ' . $curl->getLastCode() . PHP_EOL; echo 'Request error string: ' . $curl->getLastError() . PHP_EOL;
Simple POST and GET requests
use Icemont\cURL\CurlWrapper; $curl = new CurlWrapper(); // Executing an empty POST request var_dump($curl->postRequest('https://httpbin.org/post')); // Add data and execute a POST request with data sending $curl->addData('value', 'test') ->addData('value2', 'test2'); var_dump($curl->postRequest('https://httpbin.org/post')); // Execute a simple GET request (data will be added as Query String) var_dump($curl->getRequest('https://httpbin.org/get')); // Reset the data and execute a simple GET request again $curl->reset(); var_dump($curl->getRequest('https://httpbin.org/get'));
Example of new ticket creation via the osTicket API
File: examples/osticket_create_ticket.php
use Icemont\cURL\CurlWrapper; $api = new CurlWrapper(); /** * Adding data one by one */ $api->addHeader('X-API-Key: YOUR_API_KEY') ->addData('source', 'API') ->addData('name', 'Test User') ->addData('email', 'user@example.com') ->addData('ip', '127.0.0.1'); /** * Or immediately in the array */ $api->addDataFromArray([ 'alert' => true, 'autorespond' => true, 'subject' => 'Testing API', 'message' => 'MESSAGE HERE', ]); /** * Executing the query as JSON */ var_dump($api->jsonRequest('https://support.example.com/api/tickets.json')); echo 'Request response code: ' . $api->getLastCode() . PHP_EOL; echo 'Request error string: ' . $api->getLastError() . PHP_EOL;
Contact
Open an issue on GitHub if you have any problems or suggestions.
License
The contents of this repository is released under the MIT license.