laravel中的路由行为

时间:2015-11-21 02:41:05

标签: laravel authentication routes laravel-5.1

在尝试了这个acl tutorial后,我发现了一些我无法理解的东西。

在laravel中,我根据教程创建了我的路线并将其更改为匹配laravel的auth控制器(因为我之前已经使用bestmomo安装它):

$router->get('/', [
    'uses' => 'Auth\AuthController@getLogin',
    'as' => 'admin.user.login',
    'middleware' => ['acl:login']
]);

像这样,它找不到我的路线给我错误

  

RouteCollection.php第161行中的NotFoundHttpException:

如果我添加以下路线:

Route::get('/login', [
'as' => 'login', 'uses' => 'Auth\AuthController@getRegister'
]);

效果很好。

为什么我需要添加第二条路线? 为什么第一个人不能独立?

1 个答案:

答案 0 :(得分:2)

我认为你关注的博客有错误。

调用所需路线的正确方法是:

Route::get('/', [
   'uses' => 'Auth\AuthController@getLogin',
   'as' => 'admin.user.login',
   'middleware' => ['acl:login']
]);

注意:您也可以使用辅助方法,只需调用:

get('/', [
   'uses' => 'Auth\AuthController@getLogin',
   'as' => 'admin.user.login',
   'middleware' => ['acl:login']
]);;

我能看到您提到的代码的唯一方法是,如果以下内容位于路径文件的顶部:

$router = app('router');