Biblioteca PHP para hacer peticiones HTTP a través de CURL. Fácil integración con API REST.
Esta era una opción muy básica para usar cURL. Se recomienda el uso de Guzzle.
Esta clase es soportada por versiones de PHP 5.6 o superiores y es compatible con versiones de HHVM 3.0 o superiores.
La mejor forma de instalar esta extensión es a través de Composer.
Para instalar PHP Curl library, simplemente escribe:
composer require Josantonius/Curl
El comando anterior sólo instalará los archivos necesarios, si prefieres descargar todo el código fuente puedes utilizar:
composer require Josantonius/Curl --prefer-source
También puedes clonar el repositorio completo con Git:
git clone https://github.com/Josantonius/PHP-Curl.git
O instalarlo manualmente:
wget https://raw.githubusercontent.com/Josantonius/PHP-Curl/master/src/Curl.php
Métodos disponibles en esta biblioteca:
Curl::request($url, $params, $result);
Atributo | Descripción | Tipo | Requerido | Predeterminado |
---|---|---|---|---|
$url | URL donde realizar la petición. | string | Yes |
Atributo | Clave | Descripción | Tipo | Requerido | Predeterminado |
---|---|---|---|---|---|
$params | Parámetros. | array | No | array() | |
'referer' | URL de referencia. | string | No | ||
'timeout' | Tiempo de espera. | int | No | ||
'agent' | Useragent. | string | No | ||
'headers' | Encabezados HTTP. | array | No | ||
'data' | Parámetros para enviar. | array | No | ||
'type' | Tipo de petición. | string | No |
Atributo | Descripción | Tipo | Requerido | Predeterminado |
---|---|---|---|---|
$result | Devuelve el resultado como array u objeto. | string | No | 'array' |
# Return (array|object) → respuesta
Para utilizar esta clase con Composer
:
require __DIR__ . '/vendor/autoload.php';
use Josantonius\Curl\Curl;
Si la instalaste manualmente
, utiliza:
require_once __DIR__ . '/Curl.php';
use Josantonius\Curl\Curl;
Ejemplo de uso para esta biblioteca:
Curl::request('https://graph.facebook.com/zuck');
Curl::request('https://graph.facebook.com/zuck', false, 'object');
$data = [
'timeout' => 10,
'referer' => 'http://site.com',
];
Curl::request('https://graph.facebook.com/zuck', $data);
$data = [
'timeout' => 10,
'referer' => 'http://site.com',
];
Curl::request('https://graph.facebook.com/zuck', $data, 'object');
$data = [
'type' => 'post',
'data' => array('user' => '123456', 'password' => 'xxxxx'),
'timeout' => 10,
'referer' => 'http://' . $_SERVER['HTTP_HOST'],
'headers' => [
'Content-Type:application/json',
'Authorization:0kdm3hzmb4h3cf',
],
];
Curl::request('https://graph.facebook.com/zuck', $data);
$data = [
'type' => 'post',
'data' => array('user' => '123456', 'password' => 'xxxxx'),
'timeout' => 10,
'referer' => 'http://' . $_SERVER['HTTP_HOST'],
'headers' => [
'Content-Type:application/json',
'Authorization:0kdm3hzmb4h3cf',
],
];
Curl::request('https://graph.facebook.com/zuck', $data, 'object');
$data = [
'type' => 'put',
'data' => array('email' => '[email protected]'),
'timeout' => 30,
'referer' => 'http://' . $_SERVER['HTTP_HOST'],
'headers' => [
'Content-Type:application/json',
'Authorization:0kdm3hzmb4h3cf',
],
];
Curl::request('https://graph.facebook.com/zuck', $data);
$data = [
'type' => 'put',
'data' => array('email' => '[email protected]'),
'timeout' => 30,
'referer' => 'http://' . $_SERVER['HTTP_HOST'],
'headers' => [
'Content-Type:application/json',
'Authorization:0kdm3hzmb4h3cf',
],
];
Curl::request('https://graph.facebook.com/zuck', $data, 'object');
$data = [
'type' => 'delete',
'data' => ['userId' => 10],
'timeout' => 30,
'referer' => 'http://' . $_SERVER['HTTP_HOST'],
'headers' => [
'Content-Type:application/json',
'Authorization:0kdm3hzmb4h3cf',
],
];
Curl::request('https://graph.facebook.com/zuck', $data);
$data = [
'type' => 'delete',
'data' => ['userId' => 10],
'timeout' => 30,
'referer' => 'http://' . $_SERVER['HTTP_HOST'],
'headers' => [
'Content-Type:application/json',
'Authorization:0kdm3hzmb4h3cf',
],
];
Curl::request('https://graph.facebook.com/zuck', $data, 'object');
Para ejecutar las pruebas necesitarás Composer y seguir los siguientes pasos:
git clone https://github.com/Josantonius/PHP-Curl.git
cd PHP-Curl
composer install
Ejecutar pruebas unitarias con PHPUnit:
composer phpunit
Ejecutar pruebas de estándares de código PSR2 con PHPCS:
composer phpcs
Ejecutar pruebas con PHP Mess Detector para detectar inconsistencias en el estilo de codificación:
composer phpmd
Ejecutar todas las pruebas anteriores:
composer tests
Si este proyecto te ayuda a reducir el tiempo de desarrollo, puedes patrocinarme para apoyar mi trabajo 😊
Este repositorio tiene una licencia MIT License.
Copyright © 2016-2022, Josantonius