【laravel】"Controllerを階層化したい"

laravelでcontrollerを階層化したい時の留意点についてです。

階層化する場合はartisanコマンドでcontrollerを作る

laravelのcontrollerはartisanコマンドで作らずとも手動で作ることもできます。

ですが、controllerディレクトリ直下にcontrollerを配置しない場合は、
つまりcontrollerを階層化したい場合はartisanコマンドで作る必要があります。

手動で階層化してしまった場合、phpは階層化したクラスを参照できなくなりエラーが起きます。
手動で階層化されたphpクラスはcomposerによってロードしてもらえないからです。 (controller直下のファイルは手動でも読み込んでくれる)

階層化したcontrollerをartisanで作る

artisanコマンドで階層化したcontrollerを作るには以下のようにコマンドを打ちます。

php artisan make:controller FanctionColor/RedController

これでapp\http\controllerの下にfacntionColorというディレクトリができ、
その下にRedControllerができます。

あとはルーティングに正しく記述すれば階層化したcontrollerが読み込めるはずです。