abhilashpujari/php-restservice

Simple PHP Wrapper class for making REST API calls

v2.0.2 2020-10-03 13:06 UTC

README

CI build Lint Code Base

Simple PHP Client library that makes it easy to make REST API calls. It uses Guzzle Client as a dependencies

Installation

The recommended way to install this library is through Composer.

# Install Composer
curl -sS https://getcomposer.org/installer | php

Next, run the Composer command to install the latest stable version of this library:

php composer.phar require abhilashpujari/php-restservice dev-master

After installing, you need to require Composer's autoloader:

require 'vendor/autoload.php';

You can then later update this library using composer:

php composer.phar update

Usage

1 GET Request

use RestService\RestService;

$restService = new RestService();
$response = $restService
    ->setEndpoint('https://jsonplaceholder.typicode.com')
    ->get('/posts/1');

2 POST Request

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->post('/posts');

3 PUT Request

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->put('/posts/1',
         [
             'id' => 1,
             'text' => 'Test'
         ]
     );

4 PATCH Request

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->patch('/posts/1',
         [
             'id' => 1,
             'text' => 'Test'
         ]
     );

5 DELETE Request

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->delete('/posts/1');

6 A fire and forget request which is useful in scenario where we fire the request and aren't concerned of the response, it can be done by setting setIsFireAndForget(true)

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->setIsFireAndForget(true)
     ->post('/posts');

7 Request with some custom headers, , it can be done by setting setRequestHeaders(headers array)

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->setRequestHeaders([
         'auth' => 'somevalue'
     ])
     ->post('/posts');

8 Request in which we need the response data which includes status code, headers, body etc, which can be done by setting request method 4th parameter to false

$response = $restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->get('/posts/1', [], [], false);

 var_dump($response->getHeaders());
 var_dump($response->getBody());

9 PURGE Request (Can be used for cache invalidation Eg:: varnish, nginx cache)

use RestService\RestService;

$restService = new RestService();
$response = $restService
    ->setEndpoint('https://jsonplaceholder.typicode.com')
    ->purge('/posts/1');

License

This project is licensed under the MIT License