Skip to content

guardian360/Resonance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guardian360 Resonance

Build Status Coverage Status

Resonance aims to make performing HTTP requests and getting responses extremely simple.

Requirements

  • PHP >=7.0.0

Installation

Install via composer.

$ composer require guardian360/resonance

Usage

Currently, only a Guzzle driver is implemented. I'm not necessarily expecting to expand drivers myself, as writing your own drivers is extremely simple using the Driver contract shipped with the library. You can simply create your own driver implementation with pretty much any HTTP library.

Without further ado, a simple example is shown below.

// First, we set up a library client which we want our client to use. Here, we
// are using a Guzzle client, which we can predefine beforehand with options
// such as headers, cookies or multipart requests.
$library = new GuzzleHttp\Client(['base_uri' => 'https://localhost']);

// Next we feed the library to the driver we'd like to use. In this case, since
// we've setup a Guzzle client, we'll be using the Guzzle driver naturally.
$driver = new Resonance\Drivers\Guzzle($library);

// Finally we feed the driver we want to use to our client.
$client = new Resonance\Client($driver);

// Then we can simply perform HTTP requests and get the response body.
// For example, GET requests...
$response = $client->get('/');

// POST requests...
$response = $client->post('/contact', [
    'email' => 'someone@example.com',
    'subject' => 'Hi there',
    'content' => 'Resonance is so cool, it makes everything so simple!'
]);

// PUT requests...
$response = $client->put('/users/1/edit', ['name' => 'Mambo Jambo']);

// And DELETE requests.
$response = $client->delete('/posts/1');

About

A library to make performing HTTP requests and getting responses extremely simple.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages