Fix Laravel 8 中出現 Target class controller does not exist
今天在練習Laravel 8時,照往常在api.php設定了Route沒想想到終端報了以下錯誤
Illuminate\Contracts\Container\BindingResolutionException Target class [AuthController] does not exist
我看了一下
Route::get(‘register’, ‘AuthController@register’);
沒有寫錯啊,直到我去查stack over flow才知道改了預設的寫法
官方網站上也有實作上的差異
Laravel 8.x Basic Routing
Laravel 7.x Basic Routing
在laravel 8中他把app\Providers\RouteServiceProvider中的
//protected $namespace = ‘App\Http\Controllers’;
給註解掉了
這使得我們在編寫時必須在route中使用use把我們使用的controller給引入
解法
如果你習慣使用舊的設計方式可以在
修改App\Providers\RouteServiceProvider:
// protected $namespace = 'App\\Http\\Controllers';
參考自:
Target class controller does not exist - Laravel 8
Target class does not exist. problem in laravel 8 [duplicate]