Estoy tratando de definir un objeto Configuration
. Definí con éxito un nodo de prototipo de matriz (como security.firewalls
). Mi matriz prototye tiene un elemento requerido, pero quiero permitir que se agreguen parámetros arbitrarios a cada matriz si es necesario.Permitir opciones indefinidas adicionales en una matriz de configuración cuando se usa la clase de Configuración de Symfony2
Mi pregunta es, ¿cómo puedo permitir agregar elementos indefinidos adicionales a cada matriz de prototipos?
Aquí es mi config:
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
Aquí es mi constructor de clase:
/**
* 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;
}
que estoy recibiendo "InvalidConfigurationException: opciones no reconocidas".
Una alternativa es llamar '-> ignoreExtraKeys (falso) 'en el prototipo' -> ('array') '. – apfelbox