scabbiafw/scabbia2-router
最新稳定版本:v0.1.2
Composer 安装命令:
composer require scabbiafw/scabbia2-router
包简介
Scabbia2 Router Component
README 文档
README
This component is a simple routing dispatcher which resolves and dispatchs the routes to callbacks or controllers.
Usage
Creating route definitions
use Scabbia\Router\RouteCollection; $routes = new RouteCollection(); // adding a static route $routes->addRoute('GET', '/about', 'AboutController::IndexAction'); // adding a static route with multiple http methods $routes->addRoute(['GET', 'POST'], '/about', 'AboutController::IndexAction'); // adding a dynamic route $routes->addRoute('GET', '/users/profile/{id:[a-z]+}', 'UsersController::ProfileAction'); // adding a dynamic route with a routing name $routes->addRoute('GET', '/users/posts/{id:[a-z]+}', 'UsersController::PostsAction', 'user/posts');
Saving route definitions
file_put_contents('routes.json', json_encode($routes->save()));
Loading route definitions back
$routes = json_decode(file_get_contents('routes.json'));
Dispatching a route
use Scabbia\Router\Router; $router = new Router($routes); // initialize a new router with route definitions $route = $router->dispatch('GET', '/about'); if ($route['status'] === Router::FOUND) { call_user_func($route['callback'], ...$route['parameters']); }
Reverse Routing with names
use Scabbia\Router\Router; $router = new Router($routes); // initialize a new router with route definitions echo $router->path('users/posts', [ 'id' => 'eser' ]);
Links
- List of All Scabbia2 Components
- Documentation
- Contributor List
- License Information I II
Contributing
It is publicly open for any contribution. Bugfixes, new features and extra modules are welcome. All contributions should be filed on the eserozvataf/scabbia2-router repository.
统计信息
- 总下载量: 129
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2015-09-12