Sto tentando di definire un oggetto Configuration
. Ho definito con successo un nodo prototipo di array (come security.firewalls
). Il mio array prototye ha un elemento richiesto ma voglio consentire l'aggiunta di parametri arbitrari a ogni array, se necessario.Opzioni aggiuntive non definite in un array di configurazione quando si utilizza la classe di configurazione di Symfony2
La mia domanda è, come posso consentire di aggiungere elementi extra non definiti a ciascun array di prototipi?
Ecco la mia configurazione:
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
Ecco il mio costruttore di classe:
/**
* 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;
}
sto ottenendo "InvalidConfigurationException: opzioni non riconosciuti".
Un'alternativa è quella di chiamare '-> ignoreExtraKeys (false) 'su' -> prototype ('array') '. – apfelbox