【问题标题】:Target class [Backend\ServiceController] does not exist. - Laravel, Laravel 8 [duplicate]目标类 [Backend\ServiceController] 不存在。 - Laravel,Laravel 8 [重复]
【发布时间】:2021-01-01 08:25:36
【问题描述】:

安装新版本的 laravel 后,我遇到了上述错误。我已经完成了“composer dump-autoload”并交叉检查了路径,一切似乎都是正确的。我相信每个人都会面临确切的问题。所以请在下面查看我的答案,它会对你有所帮助。

谢谢

【问题讨论】:

    标签: laravel laravel-8


    【解决方案1】:

    升级指南中很好地解释了这个问题。但为了您的快速参考,我将其发布在这里。

    在之前的 Laravel 版本中,RouteServiceProvider 类包含一个 $namespace 属性,其值为 App\Http\Controllers。此属性的此值用于自动为控制器路由声明添加前缀控制器路由 URL 生成,例如在调用操作帮助程序时。

    在 Laravel 8 中,该属性默认设置为 null。这允许您的控制器路由声明使用标准的 PHP 可调用语法,这为在许多 IDE 中跳转到控制器类提供了更好的支持:

    use App\Http\Controllers\UserController;
    
    // Using PHP callable syntax...
    Route::get('/users', [UserController::class, 'index']);
    
    // Using string syntax...
    Route::get('/users', 'App\Http\Controllers\UserController@index');
    

    在大多数情况下,这不会影响正在升级的应用程序,因为您的 RouteServiceProvider 仍将包含 $namespace 属性及其先前的值。但是,如果您通过创建一个全新的 Laravel 项目来升级您的应用程序,您可能会遇到这种重大变化。

    【讨论】:

      猜你喜欢
      • 2021-01-26
      • 2021-02-26
      • 2021-01-01
      • 2021-04-09
      • 2021-01-18
      • 2021-04-27
      • 2021-01-25
      • 2021-07-01
      • 2020-12-27
      相关资源
      最近更新 更多