我已经在app.yml中获得了一些移民数据,我想在行动中预告他们。我尝试通过sfConfig :: get('app_datas')获取它们,但它失败了。让我们详细说明:
YAML:
all:
datas:
foo: bar
foo2: bar2
并在actions.class.php中尝试使用此代码:
foreach (sfConfig::get('app_datas') as $key => $value) {
echo "key $key has value $value";
}
它不起作用,因为sfConfig :: get('app_datas')是NULL,怎么样才能得到它?
答案 0 :(得分:17)
如果你想要作为一个数组访问第一级,你可以在它们之间引入虚拟级别,就像@jeremy建议的那样。 如果您不希望它实际出现在配置变量名称中,请用点作为前缀:
all:
.baz:
datas:
foo: bar
foo2: bar2
现在您应该可以使用以下方式访问您的数据:
foreach (sfConfig::get('app_datas') as $key => $value)
{
echo "key $key has value $value";
}
答案 1 :(得分:11)
当Symfony加载app.yml
配置文件时,它只会存储第二级。因此,您无法直接访问app_datas
。如果您想获取包含foo
和foo2
的数组,请创建一个YAML文件,如:
all:
datas:
baz:
foo: bar
foo2: bar2
然后,您可以sfConfig::get('app_datas_baz')
执行包含foo
和foo2
作为键的数组。
在编辑:kuba的方式比假人更好;忘了你能做到的。