如何修复“目标类不存在”? [重复]

问题描述 投票:0回答:5

如何修复 Laravel 8 中的“目标类不存在”

我已经应用了所有这三个修复程序,但仍然收到错误:

  • 手动添加命名空间,以便您可以像在 Laravel 7.x 及之前版本中一样使用它
  • 使用字符串语法时,在路由文件中使用完整的命名空间
  • 使用动作语法(推荐)
use App\Http\Controllers\EventController;
use App\Http\Controllers\FamilyController;
use App\Http\Controllers\HedgehogController;
use App\Http\Controllers\KeywordController;
use App\Http\Controllers\CommentController;
Route::get('/comments', [App\Http\Controllers\CommentController::class, 'index']);

我还能做些什么来解决这个问题吗?

php laravel laravel-routing
5个回答
2
投票

我遇到了同样的问题,我跑了

php artisan optimize:clear

这为我解决了问题


2
投票

请打开您的路线并将该代码修复为:

Route::get('/comments', [CommentController::class, 'index']);

然后做:

php artisan route:cache

Laravel 8 docs 关于路由命令。


0
投票

您已经导入了命名空间,因此可以像这样直接使用控制器

use App\Http\Controllers\CommentController;
Route::get('/comments', [CommentController::class, 'index']);

https://laravel.com/docs/8.x/routing#the-default-route-files


-1
投票

取消 RouteServiceProvider 中的

protected $namespace = 'App\\Http\\Controllers';
注释。

在这里找到:

为 Laravel 8 路由定义命名空间


-1
投票

这是一个缓存问题。您必须缓存路由。 不要碰你的代码

php artisan config:clear  <=====
php artisan route:cache  <=====
© www.soinside.com 2019 - 2024. All rights reserved.