如何为laravel全局筛选器定义异常路由


How to define exception route for laravel global filter?

在运行除安装相关路由之外的任何路由之前,我想运行一个过滤器来检查应用程序是否已安装,因为这会导致无限重定向循环。

这是我应该做的:

Route::filter('before', function()
{
    if (!User::isInstalled()) {
        return Redirect::to_route('install'); // infinite redirect loop
    }
});

有什么方法可以将异常添加到此筛选器中吗?或者有什么方法可以检查当前的交换机路由是否正在运行?知道吗?感谢

试试这个:

Route::filter('before', function()
{
    if ( ! User::isInstalled() and Request::segment(1) !== 'install') {
        return Redirect::to_route('install');
    }
});

我从laravel api,laravel''Routing''Route中找到了这个方法,它可能是的解决方案

Route::filter('before', function()
{
    if ( ! Application::isInstalled() && ! URI::is('install*') ) {
        return Redirect::to_route('install');
    }
});

但我认为它们应该是强制某些路线在过滤之前不要使用的更好方法
感谢bstrahija