Skip to content

praswicaksono/rest-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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