2012-05-18 106 views
0

我有一小部分配置数据(不足以使用数据库中的表),我想将它保存在YAML文件中。由于Symfony在libray的很多部分中使用这种格式,我猜并不难读取* .yml文件并在操作中获得这些信息。在Symfony动作中读取yml文件

我YAML文件看起来是这样的:是一个层级的菜单定义

#menu-config.yml 
.basicUser: 
    menu: menu1 
     menu: submenu1.1 
      link: link1 
       url: url1.com 
     menu: submenu1.2 
     link: link2 
      url: url2.com 
     link: link3 
      url: url3.com 
    menu: menu2 
     menu: submenu2.1 
      link: link4 
       url: link4.com 
.admin 
... 

我想要得到的是一个PHP数组与菜单,子菜单的层次结构和链接

我尝试这样做:

$myYaml = sfYaml::load('<path-to-my-yaml-file>'); 

,但在将模板我echoprint_rvar_dump只显示 “1”。 :S 我确定我加载了一个文件,因为函数is_file('path-to-my-yaml-file');返回true。

那么,有没有人有好的结果呢?非常感谢:)

回答

0

yaml文件是否有效?没有标签等。

您是否尝试过使用其他yaml文件,如this one并查看php数组是什么?

我曾经在一个动作手动加载一个YAML,我做的:

$database = sfYaml::load(dirname(__FILE__).'/../config/databases.yml'); 
$param = $database['all']['doctrine']['param']; 

而且它完美workds。我想,如果加载仅返回1这意味着它失败或者文件有问题。

+0

哦!我正在加载的yml没有有效的格式。我试图加载'databases.yml'文件并正确地生成php数组。谢谢 –