我的项目是两个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变量。 –