lancerhe/php-router
Composer 安装命令:
composer require lancerhe/php-router
包简介
A RESTful, flexible MVC router component for PHP 5.3+. Declare rules which route HTTP requests to a controller.
README 文档
README
A RESTful, flexible MVC router component for PHP 5.4+. Declare rules which route HTTP requests to a controller.
Do we need another router?
There's loads of router components so why do we need another? Many of the existing ones are tightly coupled, poorly written. Routa is built with the following in mind:
- RESTful
- Loosely coupled
- Inspired by Ruby on Rails
- Compatible with PHP >= 5.3
- Prefers convention over configuration
- Flexible and extendable
- Automated test suite
Installation
Routa adheres to the PSR-0 spec. If you have a compatible autoloader place the contents of lib in your vendor directory.
Basic usage
Within your code create a new instance of the router class.
$router = new LancerHe\Router\Router;
This approach automatically uses the current page URL and HTTP method from the $_SERVER super global, it's possible to override this which we'll cover later.
Next add some routes to map URLs to controller names/actions:
$router
->add('GET', '/login', 'v1#Account#login')
->add('GET', '/profile/:id', 'v1#User#view')
->add('GET', '/profile/:id/edit', 'v1#User#edit')
->add('GET', '/search/*', 'v1#Products#search');
Once all your routes have been declared match your request against them.
if($result = $router->match()) {
// Assuming the url is /profile/432
var_dump($result->getModuleName()); // returns 'v1'
var_dump($result->getControllerName()); // returns 'User'
var_dump($result->getActionName()); // returns 'view'
var_dump($result->getParams); // returns ['id' => 432]
// Load your controller…
} else {
// Display your 404 page.
}
统计信息
- 总下载量: 20
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2016-05-04