繁体   English   中英

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

[英]Laravel, call filter in filter

我如何使用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    
});

这有可能吗?

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

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

尝试使用callRouteFilter() method

Route::filter('admin', function()
{
    Route::callRouteFilter('auth');
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM