在尝试了这个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'
]);
效果很好。
为什么我需要添加第二条路线? 为什么第一个人不能独立?
答案 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');