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

ege*_*oen 5 dependency-injection symfony

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

例如,用户设置此配置:

root_node:
    node:
        key1: value1
        key2: value2
        key3: value3
Run Code Online (Sandbox Code Playgroud)

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

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

$rootNode
    ->children()
        ->arrayNode('node')->children()->end()
    ->end();
Run Code Online (Sandbox Code Playgroud)

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

ege*_*oen 3

经过对 symfony2 github 存储库的一些研究,我找到了解决方案。对于其他想做同样事情的人来说,解决方案是:

$rootNode
    ->children()
        ->arrayNode('node')
            ->useAttributeAsKey('node')->prototype('scalar')->end()
        ->end()
    ->end();
Run Code Online (Sandbox Code Playgroud)