PHP Classes

File: README-ES.md

Recommend this page to a friend!
  Classes of Josantonius   PHP Curl   README-ES.md   Download  
File: README-ES.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP Curl
Send HTTP requests to remote servers using Curl
Author: By
Last change:
Date: 5 years ago
Size: 9,175 bytes
 

Contents

Class file image Download

PHP Curl library

Latest Stable Version Latest Unstable Version License Codacy Badge Total Downloads Travis PSR2 PSR4 CodeCov

English version

Biblioteca PHP para hacer peticiones HTTP a través de CURL. Fácil integración con API REST.

Requisitos

Esta clase es soportada por versiones de PHP 5.6 o superiores y es compatible con versiones de HHVM 3.0 o superiores.

Instalación

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:

Descargar Curl.php:

$ wget https://raw.githubusercontent.com/Josantonius/PHP-Curl/master/src/Curl.php

Métodos disponibles

Métodos disponibles en esta biblioteca:

- Realizar petición HTTP:

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

Cómo empezar

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;

Uso

Ejemplo de uso para esta biblioteca:

- Enviar petición GET y obtener respuesta como array:

Curl::request('https://graph.facebook.com/zuck');

- Enviar petición GET y obtener respuesta como objeto:

Curl::request('https://graph.facebook.com/zuck', false, 'object');

- Enviar petición GET con parámetros y obtener respuesta como array:

$data = [
    'timeout' => 10,
    'referer' => 'http://site.com',
];
        
Curl::request('https://graph.facebook.com/zuck', $data);

- Enviar petición GET con parámetros y obtener respuesta como objeto:

$data = [
    'timeout' => 10,
    'referer' => 'http://site.com',
];
        
Curl::request('https://graph.facebook.com/zuck', $data, 'object');

- Enviar petición POST y obtener respuesta como array:

$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);

- Enviar petición POST y obtener respuesta como objeto:

$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');

- Enviar petición PUT y obtener respuesta como array:

$data = [
    'type'    => 'put',
    'data'    => array('email' => 'new@email.com'),
    'timeout' => 30,
    'referer' => 'http://' . $_SERVER['HTTP_HOST'],
    'headers' => [
        'Content-Type:application/json',
        'Authorization:0kdm3hzmb4h3cf',
    ],
];
        
Curl::request('https://graph.facebook.com/zuck', $data);

- Enviar petición PUT y obtener respuesta como objeto:

$data = [
    'type'    => 'put',
    'data'    => array('email' => 'new@email.com'),
    'timeout' => 30,
    'referer' => 'http://' . $_SERVER['HTTP_HOST'],
    'headers' => [
        'Content-Type:application/json',
        'Authorization:0kdm3hzmb4h3cf',
    ],
];
        
Curl::request('https://graph.facebook.com/zuck', $data, 'object');

- Enviar petición DELETE y obtener respuesta como array:

$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);

- Enviar petición DELETE y obtener respuesta como objeto:

$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');

Tests

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

? Tareas pendientes

  • [ ] Añadir nueva funcionalidad.
  • [ ] Mejorar pruebas.
  • [ ] Mejorar documentación.
  • [ ] Refactorizar código para las reglas de estilo de código deshabilitadas. Ver phpmd.xml y .php_cs.dist.

Contribuir

Si deseas colaborar, puedes echar un vistazo a la lista de issues o tareas pendientes.

Pull requests

  • Fork and clone.
  • Ejecuta el comando `composer install` para instalar dependencias. Esto también instalará las dependencias de desarrollo.
  • Ejecuta el comando `composer fix` para estandarizar el código.
  • Ejecuta las pruebas.
  • Crea una nueva rama (branch), commit, push y envíame un pull request.

Repositorio

La estructura de archivos de este repositorio se creó con PHP-Skeleton.

Licencia

Este proyecto está licenciado bajo licencia MIT. Consulta el archivo LICENSE para más información.

Copyright

2016 - 2018 Josantonius, josantonius.com

Si te ha resultado útil, házmelo saber :wink:

Puedes contactarme en Twitter o a través de mi correo electrónico.