我想制作一个本地配置文件config_local.yml
,它允许在不破坏其他人的开发环境的情况下正确配置每个开发环境。我希望它是一个单独的文件,以便我可以“gitignore”它,并知道项目中没有任何必要的东西,同时没有git问题不断告诉我config_dev.yml有新的变化(并且运行风险有人实施这些改变)。我可以在Symfony2中包含一个可选的配置文件吗?
现在,我已经做config_dev.yml
imports:
- { resource: config_local.yml }
这是伟大的,除非该文件不存在(即存储库的一个新的克隆)。
我的问题是:有没有什么办法可以使这包括可选的?即,如果文件存在然后导入它,否则忽略它。
编辑:我希望的语法,如:
imports:
- { resource: config.yml }
? { resource: config_local.yml }
你的回答让我想,也许他可以创建自己的'YamlFileLoader',如果无法找到yml文件,将会优雅地失败。 –
非常好的答案,谢谢。我希望我能给+2 –
@arms是的,这也是可能的,但他只需要创建一个自定义的'FileLocator'而不是'YamlFileLoader'。这个异常被引发到'Symfony \ Component \ Config \ FileLocator :: locate'中,所以我们只需要扩展基类来使得加载失败。 – gilden