CurlWrapper - the simplest OOP wrapper for PHP cURL
My scripts 16:00 / 10.06.2021 1 225
About CurlWrapper library
CurlWrapper – the simplest OOP wrapper for PHP cURL with no overhead.
Designed to test and work with simple RestFull and JSON APIs and execute simple queries.
No advanced settings, just a minimum set of options needed to initialize cURL and perform simple queries with different headers. Writing similar code can be done in minutes, but sometimes you want to have a ready-made library for simple tests so you don't waste time.
- License: MIT
- GitHub URL: https://github.com/Icemont/CurlWrapper
To install using Composer, use the command:
$ composer require icemont/curlwrapper
Usage Examples
Simple POST and GET requests
$curl = new CurlWrapper();
// Executing an empty POST request
var_dump($curl->request('http://example.com/post', true));
// Add data and execute a POST request with data sending
$curl->addParam('data', array('foo' => 'bar'));
$curl->addParam('int', 1);
var_dump($curl->request('http://example.com/post'));
// Reset the data and execute a simple GET request
$curl->reset();
var_dump($curl->request('http://example.com/'));
Example of new ticket creation via the osTicket API
File: examples/osticket_create_ticket.php
$api = new CurlWrapper();
// Adding named query parameters one by one
$api->addHeader('X-API-Key: YOUR_API_KEY');
$api->addParam('alert', true);
$api->addParam('autorespond', true);
$api->addParam('source', 'API');
$api->addParam('name', 'Test User');
$api->addParam('email', '[email protected]');
$api->addParam('ip', '127.0.0.1');
// Or immediately in the array
$params = ['subject' => 'Testing API', 'message' => 'MESSAGE HERE'];
$api->addParam(false, $params);
// Executing the query as JSON
var_dump($api->jsonRequest('https://support.example.com/api/tickets.json'));
// Print the response code
echo 'Request response code: ' . $api->httpcode . PHP_EOL;
// Print the error string
echo 'Request error string: ' . $api->lasterror . PHP_EOL;