这是我的路线:
Route::get('log-in', array(
'as' => 'log-in',
'uses' => 'AuthController@getLogIn'
));
添加测试的最佳方式是什么:
Route::get('log-in', function()
{
if (Auth::check())//do something
});
我知道我可以将它添加为过滤器,但我只需要在这条路线上。
答案 0 :(得分:2)
你不能同时做两件事,在你的路线中有一个功能和一个控制器动作,所以我看到三个选择:
1)将其添加为s过滤器,这是最好的过滤器。
2)在闭包(匿名函数)中实例化你的控制器并从中调用动作。
3)执行控制器内的Auth::check()
或控制器调用的任何服务类。
答案 1 :(得分:0)
auth文件已经存在,为什么不使用它呢?
Route::get('log-in', array(
'before' => 'auth',
'as' => 'log-in',
'uses' => 'AuthController@getLogIn'
));
答案 2 :(得分:0)
您可以在'app / filter.php'文件中创建一个过滤器,如下所示:
Route::filter('myFilterName', function() {
if (!Auth::check())
{
return Redirect::route('MyNamedRoutToLoginPage');
}
});
然后你可以在'app / routes.php'文件中使用它,如下所示:
Route::group(array('before' => 'myFilterName'), function() {
// do your action here if user is logged
});