繁体   English   中英

Symfony主config.yml中的可选参数值

[英]Optional parameter value in Symfony's main config.yml

我想在我的应用程序的主config.yml写出类似的东西:

my_section
  some_value: %local_value%

param local_value将从parameters_local.yml文件中获取。 但是,我希望这个值是可选的 - 如果应用程序用户没有在他的parameters_local.yml提供local_value parameters_local.yml ,我希望它被设置为null。

如果我按照上面提供的方式离开config.yml并尝试省略来自parameters_local.ymllocal_value ,我收到以下错误消息:

[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]  
You have requested a non-existent parameter "local_value".

有没有解决的办法?

根本不要使用参数。 由开发人员决定他或她想要定义什么作为参数,什么不是。

  1. 在您的配置中,将此值定义为可选:

     $treeBuilder->root('my_section') ->children() ->scalarNode('some_value')->defaultValue('XYZ')->end() ->end() ; 
  2. 让用户决定什么是最合适的:

     # 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% 
  3. 您的应用程序/库不应该依赖于上述任何解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM