SAMURAI TERAKOYA

[ laravel 8.x ] Target class [✖︎✖︎✖︎Controller] does not exist.の解決法

laravel

本記事では、laravel 8.xにおいて、発生した「Target class [コントローラー名] does not exist. 」というエラーの解決法をご紹介させて頂いております。

以下、リファレンスになりますので、参考までに共有致します。

 

ルーティング 8.x Laravel
✅   Target class [✖︎✖︎✖︎Controller] does not exist.への対処法
✅   laravel 8.xを利用している方へオススメ

原因と解決法

原因

エラーが発生したのは、ルーティングの設定を行なった後にサーバーを起動し、動作を確認した際でした。

今回のエラーが発生した原因としては、web.php上に✖︎✖︎✖︎Controller.phpの場所を示すuse宣言がないためでした。5.8系以降のバージョンを使用している場合は、記述しなくても正常に動いていましたが、Route関数についても8.xでは記述方法が変わってますので、適切なパスをuse宣言で記述してあげる必要があるそうですね。

中では、以下のようにRoute関数内にてパスの記述をしている場合でも同様のエラーが発生する例がありました。こちらもこれからご紹介する方法で同様に解決可能です。

スポンサーリンク

解決法

[box class=”yellow_box” title=””]
laravelプロジェクト内のroutes\web.phpへ該当するController.phpのパスをuse宣言で記述してあげることで、解決出来る可能性が高いです。
以下、今回のエラーを解消した際に記述した内容です。

また、Route関数内にてパスの記述をしている場合に同様のエラーが出た場合は、以下のようにuse宣言を追加しつつ、Route関数内も修正してあげるとエラーを解消することが可能です。

まとめ

✅   エラー : Target class [✖︎✖︎✖︎Controller] does not exist.への対処法

Controllerが存在していない/見つからないと言われた場合にまず、確認するのは、routes\web.phpを疑い、該当のControllerのパスをuse宣言にて指定しましょう。

[紹介 : Class “App\モデル名” not found の解決方法]

[ laravel 8.x ] Class “App\モデル名” not found の解決法
本記事では、laravel 8.xにおいて、発生した「Class "App\モデル名" not found」というエラーへの対処法をご紹介させて頂いております。少し前のバージョンにおいて正常に動作していた書き方がエラーになってしまう..ことはよくありますので、焦らず対処していきましょう。

コメント

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