如何检查配置参数是否存在?

Rad*_*zea 2 php configuration undefined symfony

我将Symfony 2.3.x用于我目前开发的应用程序.

我在我的app/config/文件夹中有这个结构:

  • environment/dev/file.yml
  • environment/test/file.yml
  • environment/myenv/file.yml
  • 等等

在每个文件中,我都有类似的东西:

parameters:
    myvalue: 2000
Run Code Online (Sandbox Code Playgroud)

在我Controller,我这样做:

$v = $this->container->getParameter('myvalue');
var_dump($v);
Run Code Online (Sandbox Code Playgroud)

上面的代码将转储该值int 2000.

所以一切都很好.


但我想处理myvalue未定义的情况.如果我只是从YAML文件中删除此变量,我会收到带有大量堆栈跟踪的HTTP 500错误.

我想做的事情如下:

if (variable_exists ('myvalue')) {
    $x = $this->container->getParameter('myvalue');
else {
    $x = SOME_DEFAULT_VALUE;
}

useVariable($x);
Run Code Online (Sandbox Code Playgroud)

Symfony有某种功能可以完成variable_exists()上面提到的功能吗?

我在文档中找不到任何内容.

先感谢您.

erl*_*ngb 7

你可以尝试打电话$container->hasParameter('myvalue');.有关详细信息,请参见此处