Laravelに限りませんが、Composerを利用していてClass not foundエラーに遭遇することがあります。
まず対応することは
composer dump-autoload
のコマンドを打ってautoloadさせます。
それでもなお
Class 'Hoge\FooClass' not found
が継続する場合は
vendor/composer/autoload_classmap.php
ファイルを参照して、上記エラーならFooClass
が存在するか確認します。
おそらく存在しないと考えられます。今回は新規追加したディレクトリを読み込めていないことが原因でした。
その場合はcomposer.json
を確認をすると
composer.json
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
]
},
の記述のclassmapに新規追加したディレクトリHoge
が存在しないことがわかります。
composer.json
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories",
"app/Hoge" ←追加行
]
},
これで再度composer dump-autoload
でファイルが読み込まれました。