【问题标题】:Laravel 8: Target class does not exist [duplicate]Laravel 8:目标类不存在[重复]
【发布时间】:2021-01-26 12:08:46
【问题描述】:

我正在使用 Laravel 8 开发我的项目。我制作了一个名为BackendController 的控制器,并添加了这个index() 方法来调用刀片:

public function index()
{
    return view('website.backend.dashboard.index');
}

web.php 我添加了这条路线:

Route::get('/dashboard', 'BackendController@index');

但是当我转到/dashboard 时,它说:

lluminate\Contracts\Container\BindingResolutionException 目标类 [BackendController] 不存在。

我不知道为什么会打印这个,因为控制器已经存在!所以如果你知道如何解决它,请帮助我......

提前致谢。

【问题讨论】:

    标签: php laravel routes controller laravel-8


    【解决方案1】:

    Laravel 8 更新了它的路由。
    已记录,请查找Routing Namespace Updates 部分

    在新的 Laravel 8.x 应用程序中,控制器路由定义应该使用标准的 PHP 可调用语法来定义;

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

    新文档在这里; https://laravel.com/docs/8.x/routing#basic-routing

    【讨论】:

      【解决方案2】:

      总之,你应该这样定义你的路线; Route::get('/dashboard', [\App\Http\Controllers\BackendController::class, 'index']).

      更具体一点; 在之前的 Laravel 版本中,RouteServiceProvider 包含一个 $namespace 属性。此属性的值将自动添加到控制器路由定义和调用 action helper / URL::action 方法上。在 Laravel 8.x 中,该属性默认为 null。这意味着 Laravel 不会自动为命名空间添加前缀。因此,在新的 Laravel 8.x 应用程序中,控制器路由定义应该使用标准的 PHP 可调用语法来定义:

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

      [复制自 Laravel 文档。请参阅 https://laravel.com/docs/8.x/releases 中的“路由命名空间更新”部分]

      【讨论】:

        【解决方案3】:

        在之前的 Laravel 版本中,RouteServiceProvider 包含一个 $namespace 属性。此属性的值将自动添加到控制器路由定义和调用 action 帮助器 / URL::action 方法上。在 Laravel 8.x 中,该属性默认为 null。这意味着 Laravel 不会自动为命名空间添加前缀。 releases#laravel-8

        所以,试试这个:

        use App\Http\Controllers\BackendController;
        Route::get('/dashboard',  [BackendController::class, 'show'])->name('backend.index');
        

        【讨论】:

          【解决方案4】:

          使用以下语法:Route::get('/dashboard', [BackendController::class, 'index'])->name('backend.index');

          laravel docs

          【讨论】:

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