6

我已经在 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,如何简单地得到它?

4

2 回答 2

17

如果您想以数组的形式访问第一级,您可以在两者之间引入虚拟级别,就像@jeremy 建议的那样。如果您不希望它实际出现在配置变量名中,请在其前面加上一个点:

all:
  .baz:
    datas:
      foo: bar
      foo2: bar2

现在您应该能够通过以下方式访问您的数据:

foreach (sfConfig::get('app_datas') as $key => $value) 
{
  echo "key $key has value $value";
}
于 2010-10-16T15:40:18.150 回答
11

当 Symfony 加载app.yml配置文件时,它只向下存储第二层。所以不能app_datas直接访问。如果要获取包含fooand的数组foo2,请制作一个 YAML 文件,如:

all:
  datas:
    baz:
      foo: bar
      foo2: bar2

然后你可以做一个包含和作为键sfConfig::get('app_datas_baz')的数组。foofoo2

编辑时:kuba 的方式比假人好;忘了你能做到。

于 2010-10-16T15:14:13.237 回答