1

true環境が「テスト」の場合のデフォルト値に「disable_delivery」を設定するにはどうすればよいですか?これも可能ですか?

別の質問は、別の構成オプション(「ユーザー名」など)に基づいてどのように設定できるかということです。

$rootNode
    ->children()
        ->scalarNode('method')
            ->isRequired()
            ->cannotBeEmpty()
            ->validate()
                ->ifNotInArray($methods)
                ->thenInvalid('The method %s is not supported.')
            ->end()
        ->end()
        ->scalarNode('username')->isRequired()->cannotBeEmpty()->end()
        ->scalarNode('password')->isRequired()->cannotBeEmpty()->end()
        ->booleanNode('disable_delivery')->end()
    ->end()
;
4

1 に答える 1

1

より良いアプローチは、config_test.ymlconfiguraitonファイルでこの変数を設定することです。

それでもデフォルト値を使用する場合:コンテナインスタンスをConfigurationクラスに渡し、以下を使用します。

->booleanNode('disable_delivery')->defaultValue('test' === $this->container->get(‘http_kernel’)->getEnvironment() ? true : false)->end()

しかし、それは良い考えではないようです。

2番目の質問と同じ:設定ファイルでparamを使用します。バンドルのエンドユーザーにとっては、はるかにシンプルで明確です(2〜3か月で完了します)。

于 2012-09-24T12:48:42.017 に答える