$rootNode
->children()
->arrayNode('form')
->info('form configuration')
->canBeUnset()
->treatNullLike(array('enabled' => true))
->treatTrueLike(array('enabled' => true))
->children()
->booleanNode('enabled')->defaultTrue()->end()
->end()
->end()
Zeile 5 des obigen Snippets von Symfony\Bundle\FrameworkBundle\DependencyInjection\Configuration
verwendet die Methode canBeUnset()
. Ich weiß nicht, was das bedeutet, weil es nichts zu tun scheint, wenn ich es entferne. Ich arbeite daran, die semantische Konfiguration für meine eigenen Bündel zu verstehen.Symfony2 Tree Builder - Was macht die Methode canBeUnset()?
Aber wie deaktivierst du einen Konfigurationswert? Zum Beispiel wird 'framework.profiler' in' config_dev.yml' gesetzt und 'config_test.yml' enthält' config_dev.yml'. Der Profiler wird nur deaktiviert, wenn es keinen solchen Konfigurationsschlüssel 'framework.profiler' gibt. Wie kann ich es aufheben? Die Einstellung auf '{}' oder '~' hat nicht funktioniert. (Symfony 2.1, ich weiß, dass dies ab 2.2 mit 'framework.profiler.enabled' gemacht werden kann). – flu
Um den Wert tatsächlich zu deaktivieren, verwenden Sie 'form: false' (' {} 'und' ~ 'wird nicht deaktiviert). – flu