萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 讓我們一起認識YAML:YAML簡介

讓我們一起認識YAML:YAML簡介

YAML

來自YAML官方網站 (http://www.yaml.org/) 的定義: YAML是一種直觀的能夠被電腦識別的的數據數據序列化格式,它並且輕易被人類閱讀,輕易與腳本語言交互的。換種說法,YAML是一種非常簡單的類似於XML的數據描述語言,語法比XML簡單很多。他在描述可以被轉化成數組或者hash的數據是非常有用,例如:

$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將會自動創建下面的PHP數組:

house:
family:
name: Doe
parents:
- John
- Jane
children:
- Paul
- Mark
- Simone
address:
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。

copyright © 萬盛學電腦網 all rights reserved