JSONとYAMLを使う場面ってどこ?

PHP拡張として、JSON変換モジュールphp-jsonとYAML処理モジュールSyckをインストールしてみた。

URIマッピングとかフレームワークの設定周りで使われてる以外で、どんな事に使われてるんだろう。一応、SimpleTestのログとかを記録するのに使えるかなと思っている。構造を持ったデータ(ハッシュとか)をそのまま扱えるのは嬉しい。テストケース群の構成が構造的になる予定なので、それを記録するのにちょうどいい気がする。

ブラウザエミュレーション機能を提供してくれるWebTestCase使って、ウェブインターフェースからのテストを実現する。で、今気になっている事は、レポートをどうやって表現しようかなってこと。基本的にコマンドを1回打てばそれで最後まで走ってくれる事を期待している。ただ、PHPを実行する場合、実行時間の問題もあるし、SimpleTestが基本的にクラス単位で実行されるっていう問題もある。なので、レポートは1つのテストケースを実行するたびに表示される。結果はリアルタイムで知りたいけど、エラーがあった場合に必要になる詳細な情報はリアルタイムで表示する事は難しい。1回に走らせるテストケースの量を調整すれば済む事かもしれないけど、それはそれで面倒くさい。

ログを記録して、そのログからHTMLを作ってレポート表示する様な仕組みがいいのかなと思ったり。そうすると、ログの形式は単純かつ構造的なのがいいのかなと思う。CSVとかTSVとかでもいいんだけど、JSONとかYAMLみたいな単純な構造文書規格使えば、データ構造とテキストデータとの変換機能も用意されてるしいい事ありそう。

で、こういう場面での利用って正しいというか妥当なのかな。ApacheログはTSV(だっけ?)だし、基本的にログはCSVとかTSVで表現される。そこにわざわざ良く分からない規格使う必要があるんかなとは思う。でも、オブジェクト指向的にはJSONとかYAMLの方が相性いいんじゃないかなとも思ったり。よくわからないけど、状態をオブジェクト(インスタンス)で持つ様な場合とかね。

とりあえず、言うだけいってみる。

プロフィール

このブログ記事について

このページは、koshigoeが2005年12月 7日 20:36に書いたブログ記事です。

ひとつ前のブログ記事は「Firefoxのマウスジェスチャー」です。

次のブログ記事は「SyckをPHP拡張としてインストール」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。