praswicaksono / rest-client

PHP 5.3+ Rest Client Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PHP Rest Client

Build Status SensioLabsInsight Scrutinizer Quality Score

Simple cURL PHP Rest Client library for PHP 5.3+

Feature


  • Set HTTP Authentication
  • Set HTTP Header
  • Set Curl Options
  • GET, POST, PUT, DELETE Method

Installation


This library can installed through compose

$ php composer.phar require jowy/rest-client:@stable

Usage


<?php

include 'vendor/autoload.php';

use RestClient\CurlRestClient;

$curl = new CurlRestClient();
$curl->setOptions([CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0]);

var_dump($curl->executeQuery('http://www.google.com'));

// OR....

$curl = new CurlRestClient('http://www.google.com',
    array( // Header data
        'X-API-KEY: 16251821972',
        'OUTPUT: JSON'
    ),
    array( // AUTH (curl)
        'CURLOPT_HTTPAUTH' =>  CURLAUTH_DIGEST,
        'username'  =>  'root',
        'password'  =>  'toor'
    ),
    array(
        CURLOPT_SSL_VERIFYHOST => 0,
        CURLOPT_SSL_VERIFYPEER => 0
    )
);

Parameter


  • urldescribe target url
  • method define HTTP method can be GET, POST, PUT, DELETE. Default value is DELETE
  • header contain array list of header
  • data contain array list of data
  • auth contain array list of auth

Example fullset usage

$curl->executeQuery('http://api.somewebsite.com',
    'POST',
    array(
        'X-API-KEY: 16251821972',
        'OUTPUT: JSON'
    ),
    array(
        'USERNAME' => 'jowy',
        'SERVERID'  => '192882'
    ),
    array(
        'CURLOPT_HTTPAUTH' => CURL_AUTH_DIGEST,
        'username'  =>  'jowy',
        'password'  =>  '123456'
    )
);

// OR USE CONVENIENT METHODS

// GET
$res = $curl->get('customer/details', array(
    'customerId' => 55
));

// POST
$res = $curl->post('customer', array(
    'name' => 'Ole Nordmann',
    'age' => 49,
    'address' => 'Stortingsveien 5',
    'zip' => '0120',
    'city' => 'Oslo'
));

About

PHP 5.3+ Rest Client Library

License:MIT License


Languages

Language:PHP 100.0%