總的來說,YAML是一門相當牛X的語言,用來表達數據最合適,既簡單又易讀,容易和腳本語言交互的。換種說法,YAML是一種很簡單的類似于XML的數據描述語言,語法比XML簡單很多
關鍵是能很容易的轉換成php數組,像是這段YML
house:
family:
name: Doe
parents:
- John
- Jane
children:
- Paul
- Mark
- Simone
address:
number: 34
street: Main Street
city: Nowheretown
zipcode: "12345"
便能十分容易的轉換成php的數組表示:
$house = array(
'family' => array(
'name' => 'Doe',
'parents' => array('John', 'Jane'),
'children' => array('Paul', 'Mark', 'Simone')
),
'address' => array(
'number' => 34,
'street' => 'Main Street',
'city' => 'Nowheretown',
'zipcode' => '12345'
)
);
在YAML里面,結構通過縮進來表示,連續的項目通過減號"-"來表示,map結構里面的key/value對用冒號":"來分隔。YAML也有用來描述好幾行相同結構的數據的縮寫語法,數組用'[]'包括起來,hash用'{}'來包括。因此,前面的這個YAML能夠縮寫成這樣:
house:
family: { name: Doe, parents: [John, Jane], children: [Paul, Mark, Simone] }
address: { number: 34, street: Main Street, city: Nowheretown, zipcode: 12345 }
YAML是"Yet Another Markup Language(另一種標記語言)"的縮寫,讀音"yamel",或"雅梅爾"。這種格式大約是2001年出現的,現在為止已有多種語言的YAML解析器。
提示 YAML格式的周詳規格能夠在YAML官方網站http://www.yaml.org/找到。
如您所見,寫YAML要比XML快得多(無需關閉標簽或引號),并且比'.ini'文檔功能更強(ini文檔不支持層次)。所以symfony選擇YAML作為配置信息的最好選擇格式。在本書您會看到很多YAML文檔,但是他很直觀您用不著更深入地研究YAML。