我想製作一個本地配置文件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