Target class controller does not exist - Laravel 8

前端 未结 14 2170
你的背包
你的背包 2020-11-22 05:43

Here is my controller:



        
14条回答
  •  一生所求
    2020-11-22 06:00

    Laravel 8 Update the way to write routes

    ref link https://laravel.com/docs/8.x/upgrade

    in laravel 8 you need to use like

    use App\Http\Controllers\SayhelloController;
    Route::get('/users/{name?}' , [SayhelloController::class,'index']);
    

    or

    Route::get('/users', 'App\Http\Controllers\UserController@index');
    

    If you want to use old way

    then in RouteServiceProvider.php

    add this line

     /**
         * This namespace is applied to your controller routes.
         *
         * In addition, it is set as the URL generator's root namespace.
         *
         * @var string
         */
        protected $namespace = 'App\Http\Controllers'; // need to add in Laravel 8
        
    
    public function boot()
    {
        $this->configureRateLimiting();
    
        $this->routes(function () {
            Route::prefix('api')
                ->middleware('api')
                ->namespace($this->namespace) // need to add in Laravel 8
                ->group(base_path('routes/api.php'));
    
            Route::middleware('web')
                ->namespace($this->namespace) // need to add in Laravel 8
                ->group(base_path('routes/web.php'));
        });
    }
    

    Then you can use like

    Route::get('/users/{name?}' , [SayhelloController::class,'index']);
    

    or

    Route::get('/users', 'UserController@index');
    

提交回复
热议问题