Php Laravel路线组更改用于客人和成员的视图

Php Laravel路线组更改用于客人和成员的视图,php,laravel,Php,Laravel,我目前正在尝试弄清楚Laravel中的URL路由,我有基本的页面,但我正在试图找出区分来宾和成员的最佳方式 其目的是为来宾提供索引页面用户启动视图,如果用户已登录,则使用仪表板视图 像这样: Route::group(array('before' => 'guest'), function() { Route::get('/', function() { return View::make('splash'); })); }); Rout

我目前正在尝试弄清楚Laravel中的URL路由,我有基本的页面,但我正在试图找出区分来宾和成员的最佳方式

其目的是为来宾提供索引页面用户启动视图,如果用户已登录,则使用仪表板视图

像这样:

Route::group(array('before' => 'guest'), function()
{
    Route::get('/', function()
    {    
        return View::make('splash');
    })); 
});

Route::group(array('after' => 'auth'), function()
{
    Route::get('/', function()
    {    
        return View::make('dashboard');
    })); 
});

目前,这不起作用,因为它似乎总是试图在用户未登录时在“=>”auth“之后显示已验证的
”页面?

类似的操作可能会让您更接近解决方案,但仍然不起作用,除了显示视图,还有更多的工作要做。此外,如果您想为身份验证用户和来宾用户显示路由“/”上的不同内容,则不能使用筛选器

Route::group(array('before' => 'guest'), function()
{
    Route::get('login', function()
    {    
        return View::make('users.login');
    })); 
});

//~ Route::group(array('before' => 'auth'), function()
//~ {
    Route::get('/', function()
    {   
        // if user is logged in
        if (Auth::check())
            return View::make('dashboard');
        else
            return View::make('splash');
    })); 
//~ });

如果要根据是否登录为同一路由创建不同的视图,只需定义一次路由,并在关闭检查中查看用户是否登录,然后返回相关视图

Route::get('/', function()
{
    if (Auth::check())
        return View::make('dashboard');

    return View::make('splash');
}

还有一个
guest
过滤器,
Route::group(array('before'=>'guest'),function()
@delmadord谢谢,已经更新了问题
过滤器之后的工作方式不同,在这种情况下您根本不需要它。将第9行更改回
Route::group(array('before'=>'auth'),function()
如果我这样做,那么页面总是重定向到登录。我想在
/
上为来宾提供一个亮点,然后在登录
/
后为用户提供不同的内容,但你完全弄错了。我建议你使用一些分步教程,比如说,非常详细的教程。