php Laravel 8:目标类不存在错误

xwmevbvl  于 2023-01-12  发布在  PHP
关注(0)|答案(3)|浏览(155)

我有两个ArticleController,其中一个放在控制器内的Admin目录下:

use App\Http\Controllers\Admin\ArticleController as ArticleADMController;
use App\Http\Controllers\ArticleController;

Route::get('/articles/{articleSlug}' , [ArticleController::class, 'single']);
Route::prefix('admin')->namespace('Admin')->group(function() {
    Route::resource('articles' , ArticleADMController::class)->except(['show']);
});

现在,每当我想访问/admin/articles时,我都会收到以下消息:
照明\合同\容器\绑定解决方案异常目标类**[管理\应用\Http\控制器\管理\文章控制器]不存在。**
然而,它确实存在,正如您在此图片中所看到的:

那么,这里出了什么问题?我该如何解决这个问题?
如果你知道,请帮我解决这个问题,我真的很感激你们的任何想法或建议...
先谢了。

wwtsj6pe

wwtsj6pe1#

从路由中删除命名空间('Admin')。您将为Admin/ArticleController添加前缀。由于您已使用命名空间路径,因此无需在路由组中单独添加任何命名空间。
如果仍然不能解决问题,请在Admin\ArticleController中共享名称空间声明。

92dk7w1h

92dk7w1h2#

对于给药途径:您已经指定控制器来自管理路径,请尝试此操作。
供试品途径:删除“使用”,并将完整路径直接纳入“供试品”路径中。

Route::get('/articles/{articleSlug}' , [App\Http\Controllers\ArticleController::class, 'single']);
Route::prefix('admin')->namespace('Admin')->group(function() {
    Route::resource('articles' , ArticleController::class)->except(['show']);
});
xuo3flqw

xuo3flqw3#

对于Laravel 9,在这样的情况下,这是我遇到类似问题时的解决方案
我发现问题是由web.php文件中的Route::resource('/blog', 'BlogController', ['except' => ['show']]);行引起的
最初,我的资源注册为Route::resource('/blog', 'BlogController', ['except' => ['show']]);
我继续将其重构为Route::resource('/blog', 'App\Http\Controllers\BlogController', ['except' => ['show']]);
然后执行php artisan route:clearphp artisan optimize,然后执行php artisan route:list
如果您正在使用resources,并且发现在web.php文件的顶部已经有了Controller的名称空间,但是仍然面临这个问题,那么这应该可以解决这个问题

相关问题