Tiny REST Framework

by pjsturgeon

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.

$7

Prepaid customers
pay just $5 - how? Prepay Your Account With our deposit system not only will purchasing be much faster, but we’ll also take $2 off the price! Click Here to Deposit Price

You must sign in or sign up to purchase this item.

12345 ( 5 ratings )

Purchase 62 purchases

File Types Included
HTML PHP
Item Attributes
Created 23 April 10
PHP Version 5.x
MySQL Version N/A
PHP Framework N/A
Compatible Browsers Chrome 4, Chrome 5, FireFox 2, FireFox 3, IE6, IE7, IE8, Opera, Safari
PHP Files Included HTML, PHP