$rootNode
->children()
->arrayNode('form')
->info('form configuration')
->canBeUnset()
->treatNullLike(array('enabled' => true))
->treatTrueLike(array('enabled' => true))
->children()
->booleanNode('enabled')->defaultTrue()->end()
->end()
->end()
Symfony\Bundle\FrameworkBundle\DependencyInjection\Configuration
の上記スニペットの5行目は、方法canBeUnset()
を使用しています。私はそれを取り除くと何もしないように見えるので、これが何をするのか分かりません。自分のバンドルのセマンティック設定を理解しています。Symfony2ツリービルダー - メソッドcanBeUnset()は何をしますか?
しかし、どのように設定値を設定解除しますか?例えば、 'framework.profiler'は' config_dev.yml'に設定され、 'config_test.yml'は' config_dev.yml'を含みます。このような設定キー 'framework.profiler'がない場合、プロファイラは無効になります。どうすればそれを解除できますか? '{}'や '〜'に設定しても動作しませんでした。 (symfony 2.1では、これは 'framework.profiler.enabled'で2.2で行うことができます)。 – flu
実際に値を設定解除するには、 'form:false'(' {} 'と'〜 'はそれを設定解除しません)を使います。 – flu