2017 © Pedro Peláez
 

library rest-manager

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

image

max13/rest-manager

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  • Thursday, July 7, 2016
  • by Max13
  • Repository
  • 3 Watchers
  • 5 Stars
  • 180 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 10 Versions
  • 1 % Grown

The README.md

MXRequestManager-PHP

Note

This is an old README, when the lib wasn't installable by composer. I'm on it, there are only some changes related to autoload,, (*1)

Required

  • PHP >= 5.3
  • php-curl (with SSL if required)
  • APIs which return JSON encoded data (More structures are coming)
  • Brain >= Working

How to download

There are several ways to download MxRequestManager-PHP:, (*2)

  • Install with composer ("max13/rest-manager": "dev-master")
  • Clone the github repository with git clone <repo> [<dest>]
  • Download the zip file on github directly
  • Try to find another one by yourself :/

Then place it where you want (readable location, in order to load it)., (*3)

How to use

Captain Obvious is so Obvious, that this is truly the most interesting part of the README., (*4)

You can find a Doxygen doc somewhere, you'll just see how to basically use the library., (*5)

First of all, let's take a simple example. You have your APIs (api.awsome-guy.com) and you want to retrieve a member list from your users resource, with a GET., (*6)

JSON string would be:, (*7)

{
    users:[
        {
            "id": 4,
            "username": "foo"
        }, {
            "id": 12,
            "username": "bar"
        }
    ]
}
 'abcdefg');

// Make the request and return the status
$res = $mx->get('/users', $params);
?>

From there, you must verify $res because it can be 3 types (so check the type too with ===), (*8)

// MXRequestManager error,
// errno are in the top of the lib file
if ($res === FALSE)
    die('Client error: '.$mx->errno());
if ($res === TRUE) // No JSON, may be a PHP Error
    die('Parse error: '.$mx->response('body'));

And after that and your own checks (for example, if the property errors is present), you can safely use $res as a stdClass:, (*9)

<?php
echo 'User n0: ' . $res->users[0]->id . "<br />\n";
foreach ($res->users as $user)
    echo $user->id . ' / ' . $user->username . "<br />\n";
?>

And this example will output:, (*10)

User n0: 4
4 / foo
12 / bar

That's it. You can already use MXRequestManager !, (*11)

How to check the entire response ?

This is simple, you can call:, (*12)

<?php
echo $mx->rawResponse();
?>

How to check the headers ?

MXRequestManager is intelligent and smart enough to allow you to check the headers simply., (*13)

Here is an example header:, (*14)

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 04 Feb 2013 21:49:22 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.3.21
Content-Encoding: gzip
Vary: Accept-Encoding

When processed, every line are split and stored in an array, accessible by a key, corresponding to the part before the semicolon (:) of each line, except for the first line which has for key Status and the HTTP code accessible with in Code., (*15)

There is an internal multi-dimentional array which contains 2 root keys: headers and body:, (*16)

  • headers contains an associative array of the header's values
  • body is the body returned as a string

Nothing better than an example:, (*17)

 'abcdefg');

// Make the request and return the status
$res = $mx->get('/users', $params);

// MXRequestManager error,
// errno are in the top of the lib file
if ($res === FALSE)
    die('Client error: '.$mx->errno());
if ($res === TRUE) // No JSON, may be a PHP Error
    die('Parse error: '.$mx->response('body'));

echo "HTTP Status: " . $mx->response('headers', 'Status');
echo "
\n"; echo "HTTP Code: " . $mx->response('headers', 'Code'); // Since PHP 5.4 you can use $mx->response()['headers'] echo "
\n"; echo "Response body: " . $mx->response('body'); ?>

Additional notes

A sort of manual will come soon..., (*18)

The Versions

07/07 2016

dev-master

9999999-dev http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC-BY-NC-SA-3.0

The Requires

  • php >=5.3.0
  • ext-curl *

 

The Development Requires

by Adnan RIHAN

laravel api json rest

07/07 2016

v1.0-p8

1.0.0.0-patch8 http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC-BY-NC-SA-3.0

The Requires

  • php >=5.3.0
  • ext-curl *

 

The Development Requires

by Adnan RIHAN

laravel api json rest

24/05 2015

v1.0-p7

1.0.0.0-patch7 http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC-BY-NC-SA-3.0

The Requires

  • php >=5.3.0
  • ext-curl *

 

The Development Requires

by Adnan RIHAN

laravel api json rest

29/03 2014

v1.0-p6

1.0.0.0-patch6 http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC-BY-NC-SA-3.0

The Requires

  • php >=5.3.0
  • ext-curl *

 

The Development Requires

by Adnan RIHAN

laravel api json rest

29/03 2014

v1.0-p5

1.0.0.0-patch5 http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC-BY-NC-SA-3.0

The Requires

  • php >=5.3.0
  • ext-curl *

 

The Development Requires

by Adnan RIHAN

laravel api json rest

28/03 2014

v1.0-p4

1.0.0.0-patch4 http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC-BY-NC-SA-3.0

The Requires

  • php >=5.3.0
  • ext-curl *

 

The Development Requires

by Adnan RIHAN

laravel api json rest

25/11 2013

dev-models

dev-models http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC-BY-NC-SA-3.0

The Requires

  • php >=5.3.0
  • ext-curl *

 

The Development Requires

by Adnan RIHAN

laravel api json rest

25/11 2013

v1.0-p3

1.0.0.0-patch3 http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC-BY-NC-SA-3.0

The Requires

  • php >=5.3.0
  • ext-curl *

 

The Development Requires

by Adnan RIHAN

laravel api json rest

25/11 2013

v1.0-p2

1.0.0.0-patch2 http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC-BY-NC-SA-3.0

The Requires

  • php >=5.3.0
  • ext-curl *

 

The Development Requires

by Adnan RIHAN

laravel api json rest

11/11 2013

v1.0

1.0.0.0 http://github.com/Max13/MXRequestManager-PHP

REST request manager for PHP, using php-curl and aiming a at being light and really really really easy to use. Ah BTW, did I mention that it's really easy to use ?

  Sources   Download

CC BY NC SA

The Requires

  • php >=5.3.0

 

by Adnan RIHAN

laravel api json rest