【问题标题】:Target class does not exist. - Laravel目标类不存在。 - 拉拉维尔
【发布时间】:2021-04-14 23:11:19
【问题描述】:

我正在尝试制作一些杂碎。

当前我有这个问题,它无法识别我拥有的控制器。

错误:

目标类 [App\Http\Controllers\CRUD\ProductController] 不存在。

web.php

Route::get('/CRUD', 'CRUD\ProductController@index');

控制器

class ProductController extends Controller
{
    public function index ()
    {
        $products = Products::index();
        dd($products);
        return view("CRUD.view", [ "products" => $products]);
    }
}

【问题讨论】:

  • 请附上您的文件结构
  • @V-K 我已经编辑过了。
  • 好的,在控制台中运行composer dump-autoload
  • @V-K donezo,仍然得到同样的错误。
  • 这能回答你的问题吗? Laravel : Class controller does not exist

标签: laravel


【解决方案1】:

检查文件app/Providers/RouteServiceProvider.php 并取消注释该行:

 protected $namespace = 'App\Http\\Controllers';

然后清理缓存:php artisan route:cache

【讨论】:

  • 我认为这实际上应该是公认的答案。
【解决方案2】:

检查 ProductController 文件命名空间,它应该如下所示:

namespace App\Http\Controllers\CRUD;

class ProductController extends Controller
{
    public function index ()
    {
        $products = Products::index();
        dd($products);
        return view("CRUD.view", [ "products" => $products]);
    }
}

【讨论】:

  • namespace App\Http\Controllers; 这是 ProductController 中唯一的命名空间。
【解决方案3】:

应该按照上面的注释检查文件app/Providers/RouteServiceProvider.php

并取消注释该行:protected $namespace = 'App\Http\Controllers';

【讨论】:

    猜你喜欢
    • 2014-09-18
    • 2021-07-24
    • 2019-12-25
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    相关资源
    最近更新 更多