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

时间:2014-03-14 11:04:00

标签: php symfony configuration undefined

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

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

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

在每个文件中,我都有类似的内容:

parameters:
    myvalue: 2000

在我的Controller中,我这样做:

$v = $this->container->getParameter('myvalue');
var_dump($v);

上面的代码将转储值int 2000

所以一切都很好。


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

我想做类似的事情:

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

useVariable($x);

Symfony是否具有某种功能,可以执行上述variable_exists()功能的功能?

我无法在文档中找到任何内容。

提前谢谢。

1 个答案:

答案 0 :(得分:7)

您可以尝试拨打$container->hasParameter('myvalue');。有关详细信息,请参阅here