Spyc
Spycは,
Spycについて
Webサイト | http:// |
---|---|
ダウンロード | http:// showfiles. |
バージョン | 0. |
作者 | Chris Wanstrath, Vlad Andersen |
インストール
インストールは,
リスト12 Spycのインストール
$ wget http://downloads.sourceforge.net/spyc/spyc-0.3.beta.tar.gz $ cd spyc/ $ sudo cp spyc.php5 /usr/local/lib/php/spyc.php
使い方
Spycの基本的な使い方はリスト13のとおりです。機能としては次の2つだけであり,
- Spyc::YAMLLoad($filename)
- YAMLドキュメントを読み込む
- Spyc::YAMLDump($data)
- データをYAMLドキュメントに変換する
またSpyc::YAMLLoad()の引数にはファイル名を指定するため,
リスト13 Spycの使い方
<?php
/// Syckを読み込む
require_once("spyc.php");
/// YAMLドキュメントファイルを読み込む
$data = Spyc::YAMLLoad("example.yaml");
var_dump($data);
/// または
/// $spyc = new Spyc();
/// $data = $spyc->load("example.yaml");
/// データをYAMLドキュメントに変換
echo Spyc::YAMLDump($data);
/// または
/// $spyc = new Spyc();
/// echo $spyc->dump($data);
?>
タグを変更する
Spycはタグをサポートしていません。
日本語の扱い
日本語は,
不具合
筆者が試した限りでは,
- Spyc::YAMLLoad()
- スカラーへのアンカーとエイリアスが解釈できない
「&m1 {A: 10}」 のようにアンカーとデータを同一行に書くと解釈されない - 日付や日時
(timestamp) が未サポート 「null」 と 「~」 が未サポート - マッピングのマージが未サポート
- ブロックスタイルの文字列があると無限ループになる
- 値がない場合にnullではなく空文字列になる
- マッピングのキーに日本語を使用すると文字化けする
- ルート要素がフロースタイルだと解釈できない
- フロースタイルに改行が入っていると解釈できない
- Spyc::YAMLDump()
- ルート要素がスカラーだとエラーになる
- 配列のキーが数字であれば必ずシーケンスに変換される
- マッピングとシーケンスが混ざって出力されることがある
(リスト14)
リスト14 シーケンスとマッピングが混ざった例
<?php
require_once("spyc.php");
$data = array('a', 'b'=>10, '4'=>'c');
echo Spyc::YAMLDump($data);
/// 実行結果:
/// ---
/// - a
/// b: 10
/// - c
?>
その他
Spycは,