這裏是我的路線:給路線添加功能?
Route::get('log-in', array(
'as' => 'log-in',
'uses' => '[email protected]'
));
什麼是在測試添加到它的最佳方式:
Route::get('log-in', function()
{
if (Auth::check())//do something
});
我知道我可以將其添加爲一個過濾器,但我只需要它這條路線。
這裏是我的路線:給路線添加功能?
Route::get('log-in', array(
'as' => 'log-in',
'uses' => '[email protected]'
));
什麼是在測試添加到它的最佳方式:
Route::get('log-in', function()
{
if (Auth::check())//do something
});
我知道我可以將其添加爲一個過濾器,但我只需要它這條路線。
你不能兩者都做,有一個功能,在您的路由控制器動作,所以我看到三個選項:
1)添加爲S過濾器,這是最好的一個。
2)在該閉包(匿名函數)中實例化您的控制器並從中調用該操作。
3)在您的控制器或控制器調用的任何服務類中執行Auth::check()
。
auth filte已經存在,爲什麼不使用它?
Route::get('log-in', array(
'before' => 'auth',
'as' => 'log-in',
'uses' => '[email protected]'
));
您可以創建在「應用程序/ filter.php」這樣的文件過濾器:
Route::filter('myFilterName', function() {
if (!Auth::check())
{
return Redirect::route('MyNamedRoutToLoginPage');
}
});
然後,你可以在這樣的「應用程序/ routes.php文件」文件中使用它:
Route::group(array('before' => 'myFilterName'), function() {
// do your action here if user is logged
});
爲什麼不把它作爲過濾器呢? 'Route :: get('log-in',array('before'=>'filtername','as'=>'登錄','uses'=>'AuthController @ getLogIn'));' – alexrussell