Kann mein Konfigurationsknoten source
sowohl string
als auch Werte unterstützen?Konfigurationsknoten unterstützen sowohl String als auch Array in Symfony 2-Konfiguration?
Beschaffung von string
:
# Valid configuration 1
my_bundle:
source: %kernel.root_dir%/../Resources/config/source.json
Beschaffung von array
:
# Valid configuration 2
my_bundle:
source:
operations: []
commands: []
Die Erweiterung Klasse wäre in der Lage sein, zwischen ihnen zu unterscheiden:
if (is_array($config['source']) {
// Bootstrap from array
} else {
// Bootstrap from file
}
ich so etwas wie diese verwenden könnte :
$rootNode->children()
->variableNode('source')
->validate()
->ifTrue(function ($v) { return !is_string($v) && !is_array($v); })
->thenInvalid('Configuration value must be either string or array.')
->end()
->end()
->end();
Aber wie ca ich hinzufügen, Einschränkungen für die Struktur von source
(Operationen, Befehlen, etc ...) auf den variablen Knoten (das nur durchgesetzt werden soll, wenn sein Wert vom Typ array
)?
Nicht schlecht. Ich sollte den Fall behandeln, wenn 'path' und' operations' und 'commands' gesetzt sind. +1 für mich – gremo