siro / routify
Simple router based on Express router
dev-master
2016-08-10 08:55 UTC
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is auto-updated.
Last update: 2024-12-12 08:48:26 UTC
README
A simple PHP router inspired in Express framework.
Routify is a fast and flexible router for PHP 5.4 and higher.
- Flexible regular expression routing (inspired by Express)
- Concrete use. Focused in do well one thing
- Easy to learn. Simple API that will remember you Express or Slim
Getting started
- PHP 5.4.x is required
- Install Routify using Composer (recommended) or manually
- Setup URL rewriting so that all requests are handled by index.php, for example, using an .htaccess file
Example
require 'vendor/autoload.php'; $router = new Routify\Router(); $middleware1 = function() { echo "middleware 1"; }; $middleware2 = function() { echo "middleware 2"; }; $router->get('/', function() { echo "This is an action"; }, ['before' => $middleware1, 'after' => $middleware2] ); $router->get('/post/:slug/:id', function($slug, $id) { echo "You are seeing the post nÂș $id, with title: $slug"; }); $router->post('/new', function() { // something for the POST /new }); $router->put('/', function() { // something for the PUT / }); $router->delete('/:id', function($id) { // something for the DELETE /:id }); $router->both('/hello/world', function() { // something for GET and POST requests }, ['GET', 'POST']); $router->any('/bye', function() { // something for any request method }, ['before' => $middleware1, 'after' => $middleware2]); // regular expression route $router->get('/(login|logout), function() { // response for the login or logout route requested }); $router->run();
Tests and submit code
New features or modifications must be tested with PHPUnit previously to pull requests of new code.