【PHP Laveral8 版】Target class [コントローラ名] does not existエラーの解消法

PHP

PHPのフレームワークLaveral 8でコントローラーを追加したら、

Target class [コントローラ名] does not exist」というエラーが出て解消に苦労しましたが解消しました!

 

この記事では、解消方法を紹介します。

 

解消方法:Laveral8特有のエラーらしい

筆者は、以下の環境で開発しています。

 

  • 筆者の開発環境
    • MacOS Catalina 10.15
    • PHP 7.3.8
    • Laravel Framework 8.1.0

 

筆者の環境では、「プロジェクトroot/routes/web.php」ファイルに以下のように記載したら、「Target class [コントローラ名] does not exist」エラーは解消しました。


#↓作成したコントローラのパス記述
use App\Http\Controllers\SimpleLoginController; 

#↓ v8だと左記のような書き方はNGらしい。前バージョンだったらOK?
#Route::post('/login', 'SimpleLoginController@login'); 

#↓以下のように記載したらエラーが出なくなった
Route::post('/login',  [SimpleLoginController::class, 'login']);

以下のコマンドを実行して、エラーが出なければ設定成功です。

php artisan route:list

 

その他、解消方法いろいろ

その他、「Target class [コントローラ名] does not exist」エラーが出たときの解消方法を書いておきます。

 

  • 追加したコントローラ名とweb.phpで入力したものは一致しているか(小文字、大文字に注意)
  • web.phpにそもそもコントローラ名を設定していない
  • コントローラを指定の場所(ルート/app/Http/Controllers以下)に追加しているか?

 

どうしたら解消までの時間を早くできる?

今回、解消に時間がかかった理由は、バージョンを考慮せずに、他の記事を参考にしたことです。記事通りにやっても上手く行かないときは、バージョンを確認したほうが良さげです。

Laveral 8

まずは、1次情報(公式サイト)を確認しましょう!

めでたしめでたし

\IT未経験者からのサポートあり!転職サービス3選!!/

サービス名
未経験 未経験OK 未経験の転職専用 経験者向け
公開の求人数 ITエンジニア全体で1万件以上
ITエンジニア未経験で600件以上
未公開 5,000件以上
利用対象 全職種 IT特化 IT特化
特徴 ✓誰もが知る転職サービス
✓経歴を登録しておくとオファーが来る
✓企業担当者と条件交渉
✓スキルの身につく企業を紹介
✓IT専門のエージェントが対応
✓転職成功すると年収200万円以上の大幅アップがある
転職サポート内容
  • 求人検索
  • 企業担当者と交渉
  • 求人紹介
  • ライフプランのサポート
  • キャリア相談
  • 求人紹介
  • 提出書類の添削
  • 面接対策
公式サイト リクナビネクスト テックゲート レバテックキャリア

 

最新情報をチェックしよう!