首页 > 解决方案 > Laravel 8:找不到目标类

问题描述

我正在使用 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/usersurl 时,我收到了这条消息:

Illuminate\Contracts\Container\BindingResolutionException 目标类 [Admin\UsersController] 不存在。

那么我在这里做错了什么?如何修复此错误?

正如您在这张图片中看到的,控制器正确放置在该路径中:

捕获

我真的很感激你们的任何想法,

谢谢...

标签: phplaravelrouteslaravel-8

解决方案


如果您只想将命名空间前缀应用于该组,则可以设置该前缀:

...
->namespace('App\Http\Controllers\Admin')
->prefix('admin')
...

然后对于admin.php路由文件中的路由,您可以像以前一样调用它们:

Route::resource('users', 'UsersController');

推荐阅读