今回、Laravel、Vue.js を使用してサービスを量産するようなパッケージを構築することになり、ベース側とサービス単位側にディレクトリを分けた構成にしたいということがありました。
その際に、Laravel 本体のディレクトリ配下以外に置いた View ファイルを読み込む必要がありましたので、その時に行った設定方法となります。
前提
開発環境は以下のようなディレクトリ構成を予定
※ laravel ディレクトリは、ベースとなるソースコードを設置し、package ディレクトリには、サービス単位で可変となるソースコードを設置する構成となります。
service1
package
laravel
service2
package
laravel
Package 側ディレクトリの View ディレクトリ読み込み設定
Laravel 側の config/view.php の「paths」配列に package 側の view ディレクトリを追加します。
※ package_resources_path() は、helper.php に追加したパッケージ側の resources ディレクトリになります。
$ vi laravel/config/view.php
'paths' => [
package_resources_path() . '/views', // ※追加
resource_path('views'),
],
これで設定は完了です。
同名ファイルを置いた場合には、先に記述したディレクトリのファイルが優先して読み込まれます。
(※上記であれば、package 側が優先されます。)
記述する順番を変えることで、読み込む優先順位を変更することができますので、すごく便利でした!!
コメント