在我的routes.php中,我有以下几组:
Route::group(array('before' => 'checkSomething', 'prefix' => '{lang}'), function() {
echo "1";
Route::get('/', array('as' => 'home', 'uses' => 'HomeController@home'));
});
附加过滤器:
Route::filter('checkSomething', function(){
echo "2";
if(!somethingNotRight($something)){
return Redirect::route('index', array()));
}
});
我的问题是,为什么首先调用路由组内的路由,然后过滤?如果我执行此代码,我会得到以下结果:
21
但我想要的是:
12
答案 0 :(得分:0)
很简单不是吗?如果您想要在更改后应用过滤器,则在应用程序到达路径控制器之前,您正在使用过滤器:
Route::group(array('after' => 'checkSomething', 'prefix' => '{lang}')
答案 1 :(得分:0)
在执行路由时,不会调用Route::group
闭包内的代码。它很早就被称为注册所有路线。过滤器工作正常,但要测试您是否需要将echo 放入控制器