【Laravel】「Target class XXXController does not exist」エラーは8-x系のルーティング仕様の変化が原因

目次

はじめに

コントローラーとURLのルーティングを設定するときに以下のようなエラーが出たのでその対応策と原因を調べた。

エラー

1
Target class [xxxController] does not exist.

対応策

公式ドキュメントの方法

xxx/usrのURLにアクセスされた際に、UserControllerindexアクションメソドをルーティングしたい場合、以下のような記述になる

1
2
3
use App\Http\Controllers\UserController;

Route::get('/user', [UserController::class, 'index']);

7.xより前の方法を踏襲する

namespaceのフルパスを追記する形で以前と同じような記述で設定もできる

1
Route::get('/hello','App\Http\Controllers\HelloController@index')

useでnamespaceを切り出すこともできる

1
2
3
use App\Http\Controllers\UserController;

Route::get('/hello','HelloController@index')

参考リンク

【Laravel】「Target class XXXController does not exist」エラーは8-x系のルーティング仕様の変化が原因

https://blog.djima.net/2021/05/07/【Laravel】「Target-class-XXXController-does-not-exist」エラーは8-x系のルーティング仕様の変化が原因/

Author

Daiki Iijima

Posted on

2021-05-07

Updated on

2024-04-17

Licensed under