【发布时间】:2021-03-31 20:59:24
【问题描述】:
我正在使用 Laravel 8 开发我的项目,现在我想为我的资源控制器创建一个名为 UsersController 的路由。
所以在我的路线文件中,我添加了这条路线:
Route::resource('users', UsersController::class);
并且因为这个UsersController 被放置在Controllers/Admin 目录中,所以我将\Admin 添加到RouteServiceProvider 的命名空间中:
Route::middleware(['web' , 'auth' , 'auth.admin'])
->namespace($this->namespace . '\Admin')
->prefix('admin')
->group(base_path('routes/web/admin.php'));
但是现在当我想去/admin/users url 时,我收到了这条消息:
Illuminate\Contracts\Container\BindingResolutionException 目标类 [Admin\UsersController] 不存在。
那么我在这里做错了什么?如何解决此错误?
正如您在这张图片中看到的,控制器正确放置在该路径:
非常感谢你们的任何想法,
谢谢...
【问题讨论】:
-
你想要所有的路由定义都有一个命名空间前缀,就像 Laravel 8 之前的样子吗?
-
@lagbox 实际上我有两个名为
home.php和admin.php的自定义路由文件。而这个admin.php持有项目管理面板的路由。
标签: php laravel routes laravel-8