Laravel,在过滤器中调用过滤器

use*_*218 7 php routing filter laravel

我如何使用laravel调用过滤器中的过滤器?

我有这个过滤器:

Route::filter('auth', function()
{
    if (Auth::guest())
    {
        if (Request::ajax())
        {
            return Response::make('Unauthorized', 401);
        }
        else
        {
            return Redirect::guest('login');
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

现在我创建另一个名为admin的过滤器,我想要调用auth过滤器:

Route::filter('admin', function(){
    #call auth filter

    #code    
});
Run Code Online (Sandbox Code Playgroud)

这有可能吗?

Rus*_*sak 5

callRouteFilter()Illuminate\Routing\RouteFiltererInterface@Dwight中使用方法建议:

Route::filter('admin', function ($route, $request) {
    if ($r = Route::callRouteFilter('auth', array(), $route, $request)) {
        return $r;
    }
});
Run Code Online (Sandbox Code Playgroud)


Dwi*_*ght 0

尝试使用callRouteFilter() method.

Route::filter('admin', function()
{
    Route::callRouteFilter('auth');
});
Run Code Online (Sandbox Code Playgroud)