今回は、Laravel4で新しいクラスファイルを作成して、ハマってしまったので書き留めておきます。
Laravel4で新しいクラスファイルを作成したら実行しなければいけないコマンドがあります。
それは、「
composer dump-autoload」です。
このコマンドを、プロジェクトルートで実行します。
このコマンドによって、プロジェクトが新しいクラスファイルを認識することができるようになります。
そして、この新しいクラスファイルがプロジェクトによって認識されているかどうかを確認するには、
vendor/composer/autoload_classmap.phpを開いて確認します。
頭が痛くなりそうな大量の配列の中に新しいクラスファイルの
クラス名と
ファイルのパスのマッピングが確認できます。
return array(
:
:
'TShiharaiHenkouRireki' => $baseDir . '/app/models/database_connectors/TShiharaiHenkouRireki.php',
:
:
);
つまり、Laravelではなくcomposerがクラスの管理をしているということが分かりました。
ちなみに、Laravel公式サイトに下記の記載がありました。
Note: If you receive a "class not found" error when running migrations, try running the composer dump-autoload command.
『Migrations & Seeding』
以上です!
【参考サイト】
『[PHP][Laravel4]Laravel4でコントローラーの作成とモデルの作成に関する簡単なまとめ』
『Laravel 4.2.0 マイグレーションと初期値設定』