バンドルの設定を設定していますが、私はConfiguration
クラスを使用しています。私はlist
子を持っているmy_node
ノードを持っていて、デフォルト値を設定したいと思います。配列ノードのデフォルト値としてのパラメータの使用
パラメータから値を設定したいということです。パラメータ名がdefaultValue
であればInvalidArgumentException
をthe default value of an array node has to be an array
とスローします。
->arrayNode(‘my_node’)
->children()
->arrayNode('list')
->prototype('scalar')->end()
->defaultValue([‘foo’, ‘bar’]) //this works
->defaultValue(‘%some_parameter%’) //this does not
->end()
->end()
->end()
どのようにすれば達成できますか?
エクステンションはコンテナビルダオブジェクトにアクセスできます。つまり、パラメータをプルアウトして設定オブジェクトに渡すことができます。しかし、私はそれがコンフィギュレーションシステムの目的を打ち負かしていると思います。 – Cerad
@ Kerad、パラメータ値をプルする必要はありません。後で解決されます。 – Gerry
真実ですが、基本的には、nullをチェックしてから、後でそのサイクルでパラメータを行う必要があります。しかし、私の主なポイントは、パラメタのデフォルト値が必要ないことです。ツリービルダにデフォルト値を設定しておき、ユーザが選択した場合はconfig.ymlでその値を上書きすることができます。もちろん、ユースケースを完全に誤解している可能性があります。 – Cerad