設定ノードsource
は、string
とarray
の両方の値をサポートできますか?設定ノードでSymfony 2設定の文字列と配列の両方をサポートしていますか?
string
からソーシング:array
から
# Valid configuration 1
my_bundle:
source: %kernel.root_dir%/../Resources/config/source.json
がソーシング:
# Valid configuration 2
my_bundle:
source:
operations: []
commands: []
拡張クラスは、それらを区別することができるでしょう:
if (is_array($config['source']) {
// Bootstrap from array
} else {
// Bootstrap from file
}
私はこのようなものを使用する場合があります:
$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();
しかし、どのように私は(その値がタイプarray
であるときにのみ実施されなければならない)変数ノードにsource
(操作、コマンド、等...)の構造上の制約を追加CA?
悪くない。私は、 'path'と' operations'と 'commands'が設定されている場合に対処する必要があります。 +1 – gremo