我有什么方法可以在routes.php中执行此配置:
Route::get('/', function(){
if ( Auth::check() === FALSE )
{
return homeController@guest<--- Specific Controller's method
}
else
{
return homeController@logged <--- Specific Controller's method
}
});
我不想使用重定向,因为我想将mysite.com/
作为主要地址。
答案 0 :(得分:2)
当然你可以直接在@Ferticidios回答的路线上做所有事情,或者只有像@maytham建议的那样的控制器方法。但你也可以完全按照你的要求去做:
Route::get('/', function(){
if ( Auth::check() === FALSE )
{
return App::make('homeController')->callAction('guest', array());
}
else
{
return App::make('homeController')->callAction('logged', array());
}
});
答案 1 :(得分:1)
您可以这样做:
Route::get('/', function(){
if ( Auth::check() === FALSE )
{
//Do stuff... get data
return Response::view('guest')->with($data);
}
else
{
//Do stuff... get data
return Response::view('logged')->with($data);
}
});
答案 2 :(得分:1)
这是Laravel设计的过滤器。内置的Auth已经存在,或者您可以创建自己的
Route::get('user', array('before' => 'auth', function()
{
return App::make('homeController')->callAction('logged');
}));
可以在 app / filters.php
中调整默认过滤器