Php Symfony配置:数组节点或null
my bundle的某些功能是可选的。为了配置它们,我希望有以下两个选项。如果要启用该功能,请执行以下操作:Php Symfony配置:数组节点或null,php,symfony,configuration,config,Php,Symfony,Configuration,Config,my bundle的某些功能是可选的。为了配置它们,我希望有以下两个选项。如果要启用该功能,请执行以下操作: foo: feature: mandatory1: 'bar' mandatory2: 'bar2' 但是,如果我决定不使用此特定功能,我希望将feature设置为空: foo: feature: ~ 我目前拥有以下代码: // ... ->arrayNode('feature') ->defaultNull()
foo:
feature:
mandatory1: 'bar'
mandatory2: 'bar2'
但是,如果我决定不使用此特定功能,我希望将feature
设置为空:
foo:
feature: ~
我目前拥有以下代码:
// ...
->arrayNode('feature')
->defaultNull()
->children()
->scalarNode('mandatory1')
->isRequired()
->cannotBeEmpty()
->end()
->scalarNode('mandatory2')
->isRequired()
->cannotBeEmpty()
->end()
->end()
->end()
但是,不允许调用
defaultNull()。有什么办法可以让我做到这一点吗?事实上,我自己找到了答案。复制自:
如果您的整个部分是可选的,并且可以启用/禁用,则可以利用快捷方式canBeEnabled()
和canBeDisabled()
方法