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
_xhr
to a handler method automatically matches JSON/XMLHTTPRequest
requests. If the_xhr
method 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.