Laravelで`Target class [XXController] does not exist.`が出てきたときの対策

スポンサーリンク
未分類

laravel8.xを使っていると次のようなエラーが出てくる時があります。

Route::get('hoge/', [HogeController::class, 'show']);
Route::get('hoge/', 'HogeController@show');
Target class [HogeController] does not exist.

原因

このエラーが出てきている原因は書いてある通り、”HogeControllerが存在しないよ”ってエラーです。

そんなこと言われてもこっちはコマンドで作ってるんだが、、っていう文句を言いたくなりますが、、、

対策

対策には2パターンあります。

対策①:XxController@showと書いている人

私もこのパターンでした。これまではうまくいっていたのにと思っていましたが、

いつからか以下のように書かなければならないようになっているみたいです。

Route::get('hoge/', 'App\Http\Controllers\HogeController@show');

あんまりよくないな。。。と思ってこれからは対策②のように書こうかなと思っています。

対策②:[HogeController::class, ‘show’]と書いている人

ソースに一行追加して下さい。

use App\Http\Controllers\HogeController;

暇な時間にU-NEXT

今なら無料1ヶ月無料トライアル600円分の有料コンテンツを使えるチャンス!

見放題作品が31日間無料で視聴可能最新作はレンタル配信!

600円分のポイントプレゼント!DVD・ブルーレイよりも先行配信の最新作、放送中ドラマの視聴や最新コミックの購入に使用可能

 

追加料金なく、80誌以上の雑誌が読み放題

未分類
スポンサーリンク
uediveをフォローする
SEの休日

コメント

タイトルとURLをコピーしました