Symfony Config:Array节点或null

时间:2015-02-18 18:07:34

标签: php symfony configuration config

我的捆绑包的一些功能是可选的。为了配置它们,我想有以下两个选项。如果我想启用该功能:

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()来电。有什么方法可以实现这种行为吗?

1 个答案:

答案 0 :(得分:1)

实际上,我自己找到了答案。复制自Symfony docs

  

如果您的整个部分是可选的并且可以启用/禁用,则可以使用快捷方式canBeEnabled()canBeDisabled()方法。