为什么Laravel 5删除了级联配置


Why did Laravel 5 remove Cascading Configs

Laravel 5将Dotenv库用于不应进行版本控制的环境特定配置(例如:密钥、机密)

然而,可能有一些应用程序会使用级联配置来实现可以(应该)版本控制的功能?(例如:数据库配置减去凭据,域/URLS到具有自己的dev/qa/prod设置的相关服务,)

考虑到上面的上下文,我缺少的是为什么级联配置没有用处。删除级联配置的原因是什么?

它被删除是因为它增加了不必要的复杂性。为每个配置文件运行arraymerge_recurive对于那些只能在.env文件中完成的事情来说代价高昂。

env文件还增加了将这种配置排除在SCM之外的好处。任何更复杂的东西都应该交给服务提供商。

关于配置决策的参考推文:https://twitter.com/taylorotwell/status/551531700111822848