Symfony2配置中的嵌套原型

El *_*obo 8 configuration yaml symfony

使用Symfony2 TreeBuilder,可以为阵列节点内的每个节点配置原型,例如支持类似的配置

foo:
    xxx: { foo: bar}
    yyy: { foo: bar}
Run Code Online (Sandbox Code Playgroud)

哪里有任何数量的xxx,yyy等(任何值)节点使用类似的结构

$rootNode
    ->arrayNode('foo')
    ->prototype('array')
        ->children()
            ->scalarNode('foo')
Run Code Online (Sandbox Code Playgroud)

我想创建另一个级别的相同的东西而不在其间引入另一个命名节点,例如支持类似的配置

foo:
    xxx:
        aaa: { foo: bar}
        bbb: { foo: bar}
    yyy:
        ccc: { foo: bar}
        ddd: { foo: bar}
Run Code Online (Sandbox Code Playgroud)

其中可以有任意数量的xxx,yyy等节点,每个节点可以包含任意数量的其他aaa,bbb等节点.

有没有办法实现这个目标?调用->prototype()直属->children()另一个原型调用不起作用,因为原型似乎并不支持嵌套的原型.因此,我不得不对xxx和yyy的特定值进行硬编码,从而限制了我正在编写的包的灵活性.

dr.*_*cre 13

检查symfony 2.2,嵌套工作.

不要->children()在嵌套之间使用->prototype():

$rootNode->children()
   ->arrayNode('foo')
      ->prototype('array')
         ->prototype('array')
             ->children()
                ->scalarNode('foo');
Run Code Online (Sandbox Code Playgroud)