Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bennetgallein/php-restservice
Simple PHP wrapper class to make REST API calls
https://github.com/bennetgallein/php-restservice
Last synced: 16 days ago
JSON representation
Simple PHP wrapper class to make REST API calls
- Host: GitHub
- URL: https://github.com/bennetgallein/php-restservice
- Owner: bennetgallein
- License: mit
- Fork: true (abhilashpujari/php-restservice)
- Created: 2020-04-26T10:38:19.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-17T21:23:15.000Z (almost 2 years ago)
- Last Synced: 2024-10-02T06:41:47.024Z (4 months ago)
- Language: PHP
- Homepage:
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
PHP HTTP REST Client
=======================
[![Build Status](https://travis-ci.org/abhilashpujari/php-restservice.svg?branch=master)](https://travis-ci.org/abhilashpujari/php-restservice)Simple PHP Client library that makes it easy to make REST API calls.
It uses [Guzzle Client](http://docs.guzzlephp.org/en/stable/) as a dependencies## Installation
The recommended way to install this library is through
[Composer](http://getcomposer.org).```bash
# Install Composer
curl -sS https://getcomposer.org/installer | php
```Next, run the Composer command to install the latest stable version of this library:
```bash
php composer.phar require abhilashpujari/php-restservice dev-master
```After installing, you need to require Composer's autoloader:
```php
require 'vendor/autoload.php';
```You can then later update this library using composer:
```bash
php composer.phar update
```## Usage
1 GET Request
```php
use RestService\RestService;$restService = new RestService();
$response = $restService
->setEndpoint('https://jsonplaceholder.typicode.com')
->get('/posts/1');
```
Note: You can also use `RestService::getInstance()` to get an Instance of the class to use. This elimiated the calling for `new` inside your code. This will always return a new Instance. Singleton pattern is currently not supported.2 POST Request
```php
$restService
->setEndpoint('https://jsonplaceholder.typicode.com')
->post('/posts');
```3 PUT Request
```php
$restService
->setEndpoint('https://jsonplaceholder.typicode.com')
->put('/posts/1',
[
'id' => 1,
'text' => 'Test'
]
);
```4 PATCH Request
```php
$restService
->setEndpoint('https://jsonplaceholder.typicode.com')
->patch('/posts/1',
[
'id' => 1,
'text' => 'Test'
]
);
```5 DELETE Request
```php
$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)```php
$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)
```php
$restService
->setEndpoint('https://jsonplaceholder.typicode.com')
->setRequestHeaders([
'auth' => 'somevalue'
])
->post('/posts');
```
Note: to set Authorization header for all requests, you can use `setAuthorizationHeader($token)`.
This will require the token to be with the `Bearer ` preceding the actual token.8 Request in which we request the response data which includes status code, headers, body etc,
which can be done by setting request method 4th parameter to false```php
$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)
```php
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