Features

Features Description
Light weight Entire Framework along with default JSON format is just one PHP file under 25 kb
Flexible Client can send data in any of the enabled formats or as a query string / form post, it will convert them to php data and map it to the function parameters.
Customizable If you dont like the way Restler handles something, with the help of well commented code is easy to customize it to suit your needs. 

With the help of Restler’s pluggable architecture for formats and authentication you can have your own formats and authentication schemes

Supports HTTP request methods GET, POST, PUT, and DELETE Ideally we can use HTTP Request Methods (PUT, GET, POST, DELETE) for CRUD operations (CREATE, RETRIVE, UPDATE, DELETE) but Restler leaves the choice to you, the API developer. Just map the functions to URI Method using as many @url METHOD path syntax phpdoc comments as you want. 

Example:-

@url DELETE /customers

Clients can use X-HTTP-Method-Override header Restler has support for X-HTTP-Method-Override HTTP headers. This is a useful feature in case when client is not able make HTTP request with required HTTP method, e.g. firewall restriction. 

For example if client need to make PUT request but not able to do that he can make POST request instead and add HTTP header X-HTTP-Method-Override with ‘PUT’ value. Server will process such header and do PUT request instead of POST

Two way format conversion You can talk to any client in the best format that it takes, it converts the data sent by the client to PHP data
Pluggable Formatters All Formats should implement iFormat interface. All you need to do to create your own format is just to implement the iFormat methods. Take a look at JsonFormat and XmlFormat as an example
Comes with JSON, and XML formats
JSON JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language. 

It is best format for JavaScript and Android clients

JSON is the default format used by Restler when no format is defined, it is in fact bundled as part of restler.php file

XML XML stands for EXtensible Markup Language. It is a markup language much like HTML. It was designed to carry data.
XML tags are not predefined. You must define your own tags 

XML is designed to be self-descriptive

Node names and attribute conversions can be customized using the static properties of the XmlFormat class

Pluggable Authentication schemes All Auth schemes should implement iAuthenticate interface. All you need to do to create your own authentican system is just to implement the iAuthenticate methods. Take a look at JsonFormat and XmlFormat as an example
Comes with Live Examples Download Restler and unzip the contents to your localhost. Going to http://localhost/examples will walk you through the examples. We are also hosting the examples for quick viewing
Source code distributed under LGPL Restler is free & open sourced under GNU Lesser General Public License so you can use it however you please. For more information please read the license agreement.