Rapture PHP Router
, (*1)
A simple fork from the nikic/FastRoute implementation with reverse routing., (*2)
It implements the GroupCountBased
algorithm., (*3)
Requirements
Install
composer require mrjulio/rapture-router
Quick start
For more info check nikic/FastRoute
., (*4)
// add multiple routes
$router = new \Rapture\Router\Router();
$router->addRoutes([
['user-add', 'GET', '/user/add', 'User\Add'],
['user-edit', 'GET', '/user/edit/{id:\d+}[/{check}]', 'User\ViewDate'],
])->processRoutes(); // run once after each routes have been added
// add group
$router->addGroup(
'/admin/user',
[
['search', 'GET', '/search', 'Search'],
['view', 'GET', '/view/{id:\d+}', 'View'],
],
)->processRoutes();
// ...is same as...
$router->addRoute('admin-user-search', 'GET', '/admin/user/search', 'Admin\User\Search');
$router->addRoute('admin-user-view', 'GET', '/admin/user/view/{id:\d+}', 'Admin\User\View')
$router->processRoutes();
// [Router::FOUND, 'User\View', ['id' => 100]],
$router->route('GET', '/user/edit/100');
// [Router::NOT_FOUND],
$router->route('POST', '/user/edit/100');
// [Router::NOT_FOUND],
$router->route('GET', '/user/edit/100/'); // trailing slash
About
Author
Iulian N. rapture@iuliann.ro
, (*5)
Testing
cd ./test && phpunit
Credits
- https://github.com/nikic/FastRoute
License
Rapture PHP Router is licensed under the MIT License - see the LICENSE
file for details., (*6)