在Symfony操作中读取yaml文件

时间:2012-05-18 08:39:23

标签: symfony1 symfony-1.4 yaml

我有很少的配置数据(不足以使用数据库中的表),我想将它保存在YAML文件中。由于Symfony在libray的很多部分中使用了这种格式,我猜不难读取* .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。

那么,有人有这么好的结果吗?非常感谢你:))

1 个答案:

答案 0 :(得分:0)

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

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

我曾经在动作中手动加载yaml,我这样做:

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

它完美无缺。我认为,如果加载仅返回1,则意味着它失败或文件错误。