2012-05-18 34 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數組。謝謝 –