public function boot()
{
$this->app['events']->listen('router.matched', function () {
$this->app->resolving(function (FormRequest $request, $app) {
$this->initializeRequest($request, $app['request']);
$request->setContainer($app)
->setRedirector($app['Laravel\Lumen\Http\Redirector']);
});
});
}
这是我在bootstrap/app.php
注册的自定义服务提供商中的启动方法。我使用Lumen 5.3
框架。
答案 0 :(得分:1)
Lumen
使用与Laravel
不同的路由器。 Lumen
使用nikic/fast-route包作为路由器,而Laravel使用illuminate/routing包。只有当路由匹配时,只有完整的Laravel
路由器才会触发。
作为旁注,发起的事件是router.matched
到5.1。在5.2中,路由器已更新为触发Events\RouteMatched
事件对象。但是,Lumen
使用的路由器不会触发任何事件。