我使用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');
。