Download the PHP package idno/torophp without Composer
On this page you can find all versions of the php package idno/torophp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package torophp
Short Description Known adoption of Toro, a PHP router for developing RESTful web applications and APIs.
License MIT
Homepage http://github.com/anandkunal/ToroPHP
Informations about the package torophp
Toro (ABANDONWARE ADOPTION)
Toro is a PHP router for developing RESTful web applications and APIs. It is designed for minimalists who want to get work done.
Quick Links
Features
- RESTful routing using strings, regular expressions, and defined types
(
number,string,alpha) - Flexible error handling and callbacks via
ToroHook - Intuitive and self-documented core (
Toro.php) - Tested with PHP 5.3 and above
"Hello, world"
The canonical "Hello, world" example:
Routing Basics
Routing with Toro is simple:
An application's route table is expressed as an associative array
(route_pattern => handler). This is closely modeled after
Tornado (Python). Routes are not expressed as
anonymous functions to prevent unnecessary code duplication for RESTful
dispatching.
From the above example, route stubs, such as :number, :string, and
:alpha can be conveniently used instead of common regular expressions.
Of course, regular expressions are still welcome. The previous example could
also be expressed as:
Pattern matches are passed in order as arguments to the handler's request
method. In the case of ProductHandler above:
RESTful Handlers
From the above, you can see two emergent patterns.
-
Methods named after the HTTP request method (
GET,POST,PUT,DELETE) are automatically called. - Appending
_xhrto a handler method automatically matches JSON/XMLHTTPRequestrequests. If the_xhrmethod is not implemented, then the given HTTP request method is called as a fallback.
ToroHook (Callbacks)
As of v2.0.0, there are a total of five Toro-specific hooks (callbacks):
before_handler and after_handler are defined within handler's constructor:
Hooks can also be stacked. Adding a hook pushes the provided anonymous function into an array. When a hook is fired, all of the functions are called sequentially.
Installation
Grab a copy of the repository and move Toro.php to your project root.
Using Composer
Install composer in your project:
Caution: The above command requires you to place a lot of trust in the composer team to not get hacked and have a backdoor installed in their installer script. If secuity is a concern, consider doing the following:
Create a composer.json file in your project root:
Install via composer:
Server Configuration
Apache
You may need to add the following snippet in your Apache HTTP server virtual host configuration or .htaccess file.
Alternatively, if you’re lucky enough to be using a version of Apache greater than 2.2.15, then you can instead just use this one, single line:
IIS
For IIS you will need to install URL Rewrite for IIS and then add the following rule to your web.config:
Nginx
Under the server block of your virtual host configuration, you only need to add three lines.
Contributions
- Toro was inspired by the Tornado Web Server (FriendFeed/Facebook)
- Berker Peksag, Martin Bean, Robbie Coleman, and John Kurkowski for bug fixes and patches
- Danillo César de O. Melo for
ToroHook - Jason Mooberry for code optimizations and feedback
Contributions to Toro are welcome via pull requests.
License
ToroPHP was created by Kunal Anand and released under the MIT License.