我的捆绑包的一些功能是可选的。为了配置它们,我想有以下两个选项。如果我想启用该功能:
foo:
feature:
mandatory1: 'bar'
mandatory2: 'bar2'
但是,如果我决定不使用此特定功能,我想将feature
设置为null:
foo:
feature: ~
我目前有以下代码:
// ...
->arrayNode('feature')
->defaultNull()
->children()
->scalarNode('mandatory1')
->isRequired()
->cannotBeEmpty()
->end()
->scalarNode('mandatory2')
->isRequired()
->cannotBeEmpty()
->end()
->end()
->end()
但是,不允许defaultNull()
来电。有什么方法可以实现这种行为吗?
答案 0 :(得分:1)
实际上,我自己找到了答案。复制自Symfony docs:
如果您的整个部分是可选的并且可以启用/禁用,则可以使用快捷方式
canBeEnabled()
和canBeDisabled()
方法。