Php Symfony'中的可选参数值;s main config.yml
我想在我的应用程序的mainPhp Symfony'中的可选参数值;s main config.yml,php,symfony,Php,Symfony,我想在我的应用程序的mainconfig.yml中写一些类似的东西: my_section some_value: %local_value% 其中,参数local_值将取自parameters_local.yml文件。但是,我希望此值是可选的-如果应用程序用户在其parameters\u local.yml中未提供local\u值参数,我希望将其设置为null 如果我按照上面提供的方式保留config.yml,并尝试从parameters\u local.yml中忽略local\u值,我
config.yml
中写一些类似的东西:
my_section
some_value: %local_value%
其中,参数local_值
将取自parameters_local.yml
文件。但是,我希望此值是可选的-如果应用程序用户在其parameters\u local.yml
中未提供local\u值
参数,我希望将其设置为null
如果我按照上面提供的方式保留config.yml
,并尝试从parameters\u local.yml
中忽略local\u值,我会收到以下错误消息:
[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
您请求了一个不存在的参数“local_value”。
有办法解决这个问题吗?根本不用参数。由开发人员决定他或她想要定义什么作为参数,什么不是参数
在配置中,将此值定义为可选值:
$treeBuilder->root('my_section')
->children()
->scalarNode('some_value')->defaultValue('XYZ')->end()
->end()
;
让用户决定什么是最合适的:
# config.yml
my_section: ~
---
# config.yml
my_section:
some_value: ABC
---
# parameters.yml
my_section_some_value: 123
# config.yml
my_section:
some_value: %my_section_some_value%
---
# config.yml:
parameters:
my_section_some_value: 321
my_section:
some_value: %my_section_some_value%
应用程序/库不应依赖于上述任何解决方案
使用空值将local\u值添加到parameters.yml(.dist)
?正如我所说的-我希望它在不修改参数的情况下工作。yml
是否我的\u部分
键引用捆绑包配置?如果有,您可以在bundle配置树中设置默认参数值。没错,但是我希望有一个选项可以从参数文件中覆盖默认bundle配置。如果提供-使用参数中的一个。如果不是-使用默认的捆绑配置。为什么不想修改该文件?