$rootNode
->children()
->arrayNode('form')
->info('form configuration')
->canBeUnset()
->treatNullLike(array('enabled' => true))
->treatTrueLike(array('enabled' => true))
->children()
->booleanNode('enabled')->defaultTrue()->end()
->end()
->end()
Wiersz 5 powyższego urywka z Symfony\Bundle\FrameworkBundle\DependencyInjection\Configuration
używa metody canBeUnset()
. Nie wiem, co to robi, ponieważ wydaje się, że nic nie robię, jeśli go usunę. Pracuję nad zrozumieniem konfiguracji semantycznej dla własnych pakietów.Konstruktor drzewa Symfony2 - do czego służy metoda canBeUnset()?
Ale jak usunąć wartość konfiguracji? Na przykład 'framework.profiler' jest ustawiony w' config_dev.yml' i 'config_test.yml' zawiera' config_dev.yml'. Profiler jest wyłączony tylko wtedy, gdy nie ma takiego klucza konfiguracyjnego 'framework.profiler'. Jak mogę to wyłączyć? Ustawienie na '{}' lub '~' nie działało. (Symfony 2.1, wiem, że można to zrobić od wersji 2.2 za pomocą 'framework.profiler.enabled'). – flu
Aby usunąć wartość, należy użyć 'form: false' (' {} 'i' ~ 'nie anulują jej). – flu