我的項目是兩個Laravel應用程序在一個文件夾中。爲什麼兩個獨立的應用程序而不是一個?我有很好的理由。無論如何,例如,每次我想在config(config/app.php
)中更改應用程序名稱時,我都會在兩個應用程序的兩個目錄中編輯.env
文件,然後執行artisan config:cache
來更新緩存的配置。Laravel:通過一個配置加入兩個應用程序
這不是一個任務或任何東西,但它是一個糟糕的設計,我相信。所以,我正在尋找一種方法,將這兩個應用程序之間共享的值分配到一個單獨的文件中。並讓這些應用程序加載此文件並覆蓋/將其中的值應用於應用程序配置。
所以,現在我在根目錄中有一個config.php
(其中包含/ app1和/ app2中的其他兩個應用程序)。在每個應用程序的AppServiceProvider
中,我調用config.php
並循環訪問值並使用Config::set(..., ...)
設置每個值。
這對我很好,但當然,更改\ Config包中加載的值不會更改從此前獲取的值。例如,app()->environment()
返回config/app.php
中設置的值,而不是全局config.php
中引入的新值。這是因爲App
庫在我可以覆蓋它之前要求env
屬性!
所以,我想要你的幫助是:你要麼告訴我一個更智能/標準的方式來實現1配置2應用程序設置。或者告訴我在哪裏,通過去除.env
的一個文件,把與新值將覆蓋應用程序配置代碼從我的全球config.php
(目前我把代碼register()
在App\Providers\AppServiceProvider
)
這是一個非常好的解決方案。但是我爲這兩個應用程序保留了單獨的'.env'文件,因爲我們希望將某些配置屬性分開。 – Dewan159
單獨的配置可以用'config/app.php'來完成,以重寫env變量。 –