2017 © Pedro PelĂĄez
 

library api-caller

Calling APIs made easy.

image

masnathan/api-caller

Calling APIs made easy.

  • Friday, July 21, 2017
  • by MASNathan
  • Repository
  • 5 Watchers
  • 6 Stars
  • 114 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 1 Forks
  • 1 Open issues
  • 6 Versions
  • 1 % Grown

The README.md

APIcaller

Downloads with Composer SensioLabs Insight ReiDuKuduro @gittip, (*1)

APIcaller is a class that helps you build API wrappers.
You don't have to worry about building URLs, or even about parsing the requested data., (*2)

How to use

You will have to extend the Client class and the Caller class, the Client will handle all the configuration to use on the requests and the Caller will be used as the interface to interact with the API., (*3)

use MASNathan\APICaller\Client;
use MASNathan\APICaller\Caller;

class MyPackageClient extends Client
{
    /**
     * Here you can set the default headers and parameters on a global scope
     */
    public function __construct($ip = null)
    {
        $this->setDefaultHeaders([
            'User-Agent' => 'PHP APICaller SDK',
            'Accept'     => 'application/json',
            'Token'      => '123456',
        ]);
        $this->setDefaultParameters([
            'ip' => $ip ?: '127.0.0.1',
        ]);
    }

    /**
     * Returns the API Endpoint
     *
     * @return string
     */
    public function getEndpoint()
    {
        return 'http://api.domain.com/v1/';
    }
}

class MyPackageCaller extends Caller
{
    public function requestSomething($foo, $bar)
    {
        $params = [
            'foo' => $foo,
            'bar' => $bar,
        ];

        // this will result in this url http://api.domain.com/v1/some-method.json?ip={$ip}&foo={$foo}&bar={$bar}
        $response = $this->client->get('some-method.json', $params);

        $data = $this->handleResponseContent($response, 'json');

        // Do something with your data

        return $data;
    }
}

Well, this is how you can start creating your class, now, lets make some calls!, (*4)

$client = new MyPackageClient('8.8.8.8');
$caller = new MyPackageCaller($client);

$result = $caller->requestSomething(13, 37);

var_dump($result);

This will call the following url:http://api.domain.com/v1/some-method.json?ip=8.8.8.8&foo=13&bar=37., (*5)

Installation

To install the SDK, you will need to be using Composer in your project. If you don't have composer installed check this page and follow the installation steps, (*6)

This library is not hard coupled to Guzzle or any other library that sends HTTP messages. It uses an abstraction called HTTPlug. This will give you the flexibility to choose what PSR-7 implementation and HTTP client to use., (*7)

To get started ASAP you should run the following command:, (*8)

# Add APIcaller as a dependency
$ composer require masnathan/api-caller php-http/curl-client guzzlehttp/psr7

Why do I need to require all those packages?

APICaller depends on the virtual package php-http/client-implementation which requires to you install an adapter, but we do not care which one. That is an implementation detail in your application. We also need a PSR-7 implementation and a message factory., (*9)

You don't have to use the php-http/curl-client if you don't want to. Read more about the virtual packages, why this is a good idea and about the flexibility it brings at the HTTPlug docs., (*10)

License

This library is under the MIT License, see the complete license here, (*11)

The Versions

21/07 2017
01/02 2017

v2.0.0.x-dev

2.0.0.9999999-dev https://github.com/MASNathan/APICaller

Calling APIs made easy.

  Sources   Download

MIT

The Requires

 

The Development Requires

api request webservice

11/01 2014

0.3.0

0.3.0.0 https://github.com/ReiDuKuduro/APIcaller

Calling APIs made easy.

  Sources   Download

MIT

The Requires

 

api curl request webservice

07/11 2013

0.2.1

0.2.1.0 https://github.com/ReiDuKuduro/APIcaller

Calling APIs made easy.

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

api curl request webservice

03/10 2013

0.2.0

0.2.0.0 https://github.com/ReiDuKuduro/APIcaller

Calling APIs made easy.

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

api curl request webservice