spycを使ってYAMLを利用してみた
XMLやJSON等のデータ形式の一つにYAMLと呼ばれるものがあるのですが、YAML形式のデータをPHPで扱う事の出来るspycというライブラリがあるようなので、少し試してみました。
YAMLの構造
まずは簡単にYAMLの記入方法について。簡単なサンプルを作ってみました。
## テスト
- foo
- bar
- hoge
- fuga
## 社員
employees:
- id: 1
name: 田中
mail: tanaka@example.com
- id: 2
name: 佐藤
mail: sato@example.com
実行結果は以下の通りです。
Array
(
[0] => foo
[1] => bar
[2] => Array
(
[0] => fuga
)
[employees] => Array
(
[0] => Array
(
[id] => 1
[name] => 田中
[mail] => tanaka@example.com
)
[1] => Array
(
[id] => 2
[name] => 佐藤
[mail] => sato@example.com
)
)
)
簡単に説明すると、基本的には行頭に「-」をつけ並べることで配列となり、「id: 1」の様に記入する事で、idをkey、1をvalueの連想配列と認識されます。
他にもポインタやエイリアス等の機能もあります。詳細はプログラマーのための YAML 入門 (初級編)をご覧ください。
spycの入手
まずはこちらのサイトからspycを入手します。
後は下記の様にPHPでinclude、もしくはrequireで読み込むだけです。
<?php include( "spyc.php" );
$ydata = Spyc::YAMLLoad('yamlfile.yaml');
print_r($ydata);
iniファイル等で読み込みもしてみたこともありますが、YAML形式の読み込みの方が便利そうです。ちょっとまた色々実験してみます。