spycを使ってYAMLを利用してみた

XMLやJSON等のデータ形式の一つにYAMLと呼ばれるものがあるのですが、YAML形式のデータをPHPで扱う事の出来るspycというライブラリがあるようなので、少し試してみました。

YAMLの構造

まずは簡単にYAMLの記入方法について。簡単なサンプルを作ってみました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
## テスト
- foo
- bar
- hoge
- fuga

## 社員
employees:
- id: 1
name: 田中
mail: tanaka@example.com
- id: 2
name: 佐藤
mail: sato@example.com

実行結果は以下の通りです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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で読み込むだけです。

1
2
3
4
<?php include( "spyc.php" );

$ydata = Spyc::YAMLLoad('yamlfile.yaml');
print_r($ydata);

iniファイル等で読み込みもしてみたこともありますが、YAML形式の読み込みの方が便利そうです。ちょっとまた色々実験してみます。

Author: SUSH
Link: http://blog.sus-happy.net/spyc-yaml/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.