プロジェクトが大きくなってくると、
複数のサービスを管理する必要性も出てきたり、コントローラー内のフォルダのネスト、
その他様々な問題が発生し、プロジェクトの管理が複雑になってきます。
Symfonyには機能毎に一つのMVCとしてモジュール化するバンドル機能が標準で備わっていますが、
Laravelでもプラグインを導入することで、モジュール化することが可能です。
モジュール化するプラグインは何種類か公開されていますが、
今回は以下のパッケージを紹介したいと思います。
Package: caffeinated / modules
パッケージの導入
インストールはcomposerパッケージを使ってインストールします。
composer require caffeinated/modules=~2.0
インストールが完了すると、configフォルダのapp.php内に以下のコードを追加してください。
// config/app.php
// provider内に追加
Caffeinated\Modules\ModulesServiceProvider::class,
// alias内に追加
'Module' => Caffeinated\Modules\Facades\Module::class,
以上でインストール、設定が完了です。
ターミナル上でphp artisanのコマンド入力し、以下の項目が表示されていれば使用可能です。
module:disable Disable a module
module:enable Enable a module
module:list List all application modules
module:make Create a new module
module:make:migration Create a new module migration file
module:make:request Create a new module form request class
次のページで、moduleプラグインの使い方を説明します。