10quality / php-curl
Library (wrapper) that provides functionality for when doing requests using Curl. Perfect for when developing custom API connectivity or creating generic requests.
Installs: 2 569
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 4
Forks: 0
Open Issues: 0
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 8.0.*
This package is auto-updated.
Last update: 2024-11-05 23:37:28 UTC
README
Library (wrapper) that provides functionality for when doing requests using Curl. Perfect for when developing custom API connectivity or creating generic requests.
Install
composer require 10quality/php-curl
Usage
Request call options
You can make your request call using the following options:
// With global `curl_request()` $response = curl_request('http://my-api.com'); // With global `get_curl_contents()` // --- Which is an alias of `curl_request()` $response = get_curl_contents('http://my-api.com'); // With class `Curl` $response = Curl::request('http://my-api.com');
Parameters
Parameters sample:
$response = curl_request($url, $method, $data, $headers, $options);
Query string and post body
GET sample:
$response = curl_request( 'http://my-api.com', 'GET', [ 'action' => 'get-countries', 'format' => 'xml', ] );
POST sample:
$response = curl_request( 'http://my-api.com', 'POST', [ 'action' => 'get-countries', 'format' => 'xml', 'search' => 'united', 'limit' => 5, ] );
Using both:
Define $data
array keys query_string and request_body to send some parameters as query string or request body. In the following example action
and format
will send as query string and search
and limit
as post body:
$response = curl_request( 'http://my-api.com', 'POST', [ 'query_string' => [ 'action' => 'get-countries', 'format' => 'xml', ], 'request_body' => [ 'search' => 'united', 'limit' => 5, ], ] );
The example below will generate the following request:
url: http://my-api.com?action=get-countries&format=xml post body: search=united&limit=5
Headers
The following example shows how to send headers:
$response = curl_request( 'http://my-api.com', 'GET', ['action' => 'get-countries'], [ 'Authorization: Bearer -token-', 'Custom: Value', ] );
Curl options
The following example shows how to add curl options or override existing:
$response = curl_request( 'http://my-api.com', 'GET', ['action' => 'get-countries'], [], [ CURLOPT_TIMEOUT => 60, CURLOPT_RETURNTRANSFER => 0, CURLOPT_USERAGENT => 'Custom/Agent 007', ] );
Custom request method using callables
If you need to make a special request to a different method from the ones supported, you can use the the $callable
parameter as shown in the following sample:
$response = curl_request( 'http://my-api.com', 'XPOST', [], ['temperature' => 60, 'uptime' => 4564612131], [],// headers [],// options function($curl, $data) { curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'XPOST'); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); return $curl; } );
NOTE: The callable will receive $curl
and $data
as parameters and it is expecting to return the variable $curl
back.
Guidelines
PSR-2 coding standards.
Copyright and License
MIT License - (C) 2018 10 Quality.