Php Symfony配置:数组节点或null

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()

my bundle的某些功能是可选的。为了配置它们,我希望有以下两个选项。如果要启用该功能,请执行以下操作:

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()
方法