如何使用laravel调用过滤器中的过滤器?
我有这个过滤器:
Route::filter('auth', function()
{
if (Auth::guest())
{
if (Request::ajax())
{
return Response::make('Unauthorized', 401);
}
else
{
return Redirect::guest('login');
}
}
});
现在我创建另一个名为admin的过滤器,我希望在此调用auth过滤器:
Route::filter('admin', function(){
#call auth filter
#code
});
这可能吗?
答案 0 :(得分:5)
在callRouteFilter()
中使用Illuminate\Routing\RouteFiltererInterface
方法作为@Dwight建议:
Route::filter('admin', function ($route, $request) {
if ($r = Route::callRouteFilter('auth', array(), $route, $request)) {
return $r;
}
});
答案 1 :(得分:0)
尝试使用callRouteFilter() method
。
Route::filter('admin', function()
{
Route::callRouteFilter('auth');
});