我試圖定義一個Configuration
對象。我已經成功定義了一個數組原型節點(如security.firewalls
)。我的prototye數組有一個必需的元素,但我想允許任意參數添加到每個數組,如果需要的話。在使用Symfony2的配置類時允許在配置數組中使用額外的未定義選項
我的問題是,我怎麼能允許額外的,未定義的元素添加到每個原型數組?
這裏是我的配置:
acme_widget:
handlers:
handler_one:
service: handler.one.service
handler_two:
service: handler.two.service
extra_array:
- Extra 1
- Extra 2
extra_scalar: Extra 3
這裏是我的類構造器:
/**
* Generates the configuration tree.
*
* @return TreeBuilder
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder;
$rootNode = $treeBuilder->root('acme_widget');
$rootNode
->children()
->arrayNode('handlers')
->useAttributeAsKey('service')
->prototype('array')
->children()
->scalarNode('service')->isRequired()->end()
->booleanNode('enabled')->defaultTrue()->end()
->end()
->end()
->end()
->end()
;
return $treeBuilder;
}
我得到 「InvalidConfigurationException:無法識別的選項」。
另一種方法是調用' - > ignoreExtraKeys(假')在' - >原型('數組')上。 – apfelbox