Laravel:CLASS ~~ does not exist エラーの原因と解決

Laravel:CLASS ~~ does not exist エラーの原因と解決

Laravel:CLASS ~~ does not exist エラーの原因と解決

1時間ほど格闘してしまいました。お恥ずかしい…。

言い訳をするならば「学生時代から英語が苦手なんだよ!」

そんな奴がプログラムを書いてるわけです。
「英語だけはしっかり勉強しろ!」と過去の自分に強く言いたい。

自戒の念を込めて備忘録記載する事にしました。

CLASS ~~ does not exist の原因はほぼスペルミス

答えを先に言ってしまえば超簡単です。

でも英語が苦手な私はこんな動きをしたのです。
「なんだ?クラスが見つからない??スペルミスか?」
「あってんじゃん」
「じゃぁ何が原因だ?」

はい、しっかりとspell確認をしましょう。

スペルミスを探す場所

Class ~~ does not exist はクラスが見つからないというエラー。
その為、次のスペルをしっかりチェックしましょう。

  • routes\web.php
  • app\Http\Controllers\コントローラー名.php
  • URLを呼び出すリンクアドレス

今回の私の格闘の場合は 【routes\web.php】内のスペルが間違えてました。

命名規制に従い【y】を【i】に変えて【es】と複数形にしたテーブル名。
それをルートに記載した時【ies】を【y】に変えるついでに【r】を余計に削除してしまったようです。

正しくは Route::resource(‘smalldeliveries’, ‘smalldeliveryController’); ですがこれに気づかない…。

スペル見ても違和感ないんですよね。

failed to open stream: No such file or directory なんかも同じ

こちらはファイルが見つからないよと言うエラーです。

経験上多いのはコントローラー名のスペル間違い。

IDEを使っている場合は候補リストに頼るのも手

全てこれで賄えるわけではありませんが、(rが抜けたとか)今回の様なミスは減ります。

ただね、面倒くさい時ありますよね、どうしても。

まとめ

英語の習熟度でスペルミスの気づきやすさも変わると思います。

プログラミングしたい中高生、しっかり勉強しときましょうね。

あ~、学生時代しっかり勉強しとけばよかった。