Tiny REST Framework
This very lightweight framework will help you create RESTful API ’s very easily in PHP outputting data as XML , JSON, CSV , HTML tables, Serialized arrays and pure PHP .
The API can responding to HTTP GET , POST, PUT & DELETE and also supports HTTP Basic / Digest Authentication.
Usage
The idea is to create controllers which represent your resources, or a group of resources. A resource could be “user”, “article”, “shoes”, whatever. You can see how these controllers should look by opening /controllers/user.php.
Keeping with the user example, you can react based on the URL and the HTTP verb used to access the controller. If you access via the browser you will be using GET , so:
/users
...would call index_get() in your controller.
/users?id=1
This would mean you could use $this->get(‘id’) to return 1.
Create, fetch or interact with your data in any way you like then use self::response() or $this->response() to send back data. The 1st argument should be an array and the 2nd is an optional HTTP status code. It will send 200 by default but you could reply with:
self::response(array(‘error’ => ‘Couldn\’t find any users!’), 404);
You can also create sub-resources in your controllers. A sub-resource for user could be “profile”.
/users/profile?id=1
This would map to profile_get() and you would again use $this->get(‘id’) to work out who for.
You can use cURL or manually create your HTTP requests to send data in POST , PUT or DELETE form. If using PUT or DELETE via cURL you should set the HTTP method as usual then send POSTFIELD data.
You can get the parameters for requests using:
$this->get() $this->post() $this->put() $this->delete()
If you have any questions or think I am missing something, please ask away or poke me on Twitter (@philsturgeon) for an even quicker response.


12comments