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


How can I check if a configuration parameter exists?

我使用Symfony 2.3。

在我的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()函数的功能?

我在文档中找不到任何东西。

提前感谢。

您可以尝试调用$container->hasParameter('myvalue');