laasti/route
最新稳定版本:v1.1.1
Composer 安装命令:
composer require laasti/route
包简介
Two-step controller routing for League/route. Instantiate your controller, do some stuff, then call your controller method.
README 文档
README
An advanced implementation of PHP League Route package. A two-step route middleware for Laasti/Stack.
Instead of mapping directly to your controller, a middle step is added: a route object is used to configure the current route. This middle step can be used to check user's rights to access a route through an Authorization middleware.
Uses the excellent package from The PHP League: League/Route.
Installation
composer require laasti/route
Usage
Currently does not support closures nor functions as routes, only objects.
With Laasti\Stack:
$container = new League\Container; $routes = new League\Route\RouteCollection($container); $container->add('Laasti\Route\DefineControllerMiddleware')->withArgument($routes); $routes->setStrategy(new Laasti\Route\ControllerDefinitionStrategy); $request = Symfony\Component\HttpFoundation\Request::create('/test'); $routes->get('/test', 'MyController::display'); $resolver = new Laasti\Stack\ContainerResolver($container); $stack = new Laasti\Stack\Stack($resolver); $stack->push('Laasti\Route\DefineControllerMiddleware'); $stack->push('Laasti\Route\CallControllerMiddleware'); $stack->execute($request);
Without Laasti\Stack:
$container = new League\Container; $routes = new League\Route\RouteCollection($container); $routes->setStrategy(new Laasti\Route\ControllerDefinitionStrategy); $request = Symfony\Component\HttpFoundation\Request::create('/test/George'); $routes->get('/test/{name}', 'MyController::display'); $definition = $routes->getDispatcher()->dispatch($request->getMethod(), $request->getPathInfo()); //Pass the request or any arguments to the controller //Calls MyController->display($request); $request->attributes->add($definition->getArguments()); echo $definition->callController($request); //Or, uses route attributes as arguments //Calls MyController->display($name); echo $definition->callController();
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
History
See CHANGELOG.md for more information.
Credits
Author: Sonia Marquette (@nebulousGirl)
License
Released under the MIT License. See LICENSE.txt file.
统计信息
- 总下载量: 199
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 1
其他信息
- 授权协议: MIT
- 更新时间: 2015-06-15