SF2:允许用户配置bundle而不检查bundle配置的某些部分

时间:2011-07-02 14:53:33

标签: dependency-injection symfony

我实际上正在开发一个symfony 2包。我想允许用户使用DIC配置我的bundle而不检查bundle配置的某些部分。

例如,用户设置此配置:

root_node:
    node:
        key1: value1
        key2: value2
        key3: value3

我的配置包就是这样设置的:

$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('root_node');

$rootNode
    ->children()
        ->arrayNode('node')->children()->end()
    ->end();

我希望用户可以配置“node”的子节点,而不需要通过bundle配置进行检查。我不知道如何修改此问题的配置。

1 个答案:

答案 0 :(得分:3)

在对symfony2 github存储库进行一些研究之后,我找到了解决方案。对于想要做同样事情的其他人,解决方案是:

$rootNode
    ->children()
        ->arrayNode('node')
            ->useAttributeAsKey('node')->prototype('scalar')->end()
        ->end()
    ->end();