Class::DBI でもっと透過的に擬似的カラムを扱う - にぽたん研究所

January 10, 2006

このエントリーをはてなブックマークに追加
以前 Class::DBI で疑似的カラムを扱うというタイトルで、Class::DBI::Plugin::PseudoColumns という CPAN モジュールを紹介したことがありました。
で、そのエントリを見てみるとこんなトラックバックをいただきました。

浅倉卓司@blog風味? - Class::DBI::Plugin::PseudoColumnsって便利じゃん、と思ったけれど、
「Class::DBI で疑似的カラムを扱う」を読んで「こりゃ便利」と思ったけど、でも、最近はPerlとPHPの混用が多いので使えないのですよね……。

 というわけで、シリアライザを指定できるとうれしいかも。

 PHP::Serializationを使ってPHP側に合わせてあげるのがPerlクオリティだと思うし。場合によってはJSONで突っ込むのもありかもしれないので。
確かにシリアライザは指定出来たほうがいいですよね。
Data::Dumper は単純に視覚的な形式を目指したようなカンジで、より複雑な値を保存したり、他の言語との親和性等を考慮すると、シリアライザは指定出来るほうが素敵です。
他にも
「Class::DBI で疑似的カラム」をちょっと機能強化と、Class::DBIにStorable::freezeなデータ
ただ、2つほど弱点があって
  • create/insert時に使えない
  • SerializeがData::Dumperオンリー
やはりシリアライザが…というご意見と、create() 時に…というご意見ですね。

で、CPAN 見てて気付いたんですが、どうやらそのどちらも取り込んだ 0.02 が、どうやら今日リリースされたようです。

Class-DBI-Plugin-PseudoColumns-0.02

私はまだ使ってないんですが、コードを追ってみた限り、どうやら create() メソッドに擬似的なカラムを含めてもいいあんばいに処理してくれるようです。
また、シリアライザの指定まわりは、かぜぶろさんの実装とは違うみたいなんですが、テストコードを見る限り、ちゃんと Storable をシリアライザに用いた場合も問題なく動作するっぽいです。

指定されていなければ、従来通り Data::Dumper で動くっぽいので、下位互換とかは問題なさそうですね。

よーし、さっそく 0.01 で動いてる某案件を 0.02 にしちゃおうっと。

nipotan at 23:01 | Comments(0) | TrackBack(1) | 技術 
このエントリーをはてなブックマークに追加

Trackback URL for this entry

Trackbacks

1. Class::DBI::Plugin::PseudoColumnsがアップデートされてた。  [ 浅倉卓司のログ ]   January 12, 2006 16:33
 おー、便利便利。 http://blog.livedoor.jp/nipotan/archives/50372194.html  シリアライザを各クラスごとに指定しないといけないのがちょっと不満だけど。 (デフォルトのシリアライザを指定/変更できるとちょっと嬉しい。ベースクラスで一括指定できるので)  そ...

Post a comment

Name:
URL:
  Remember info?: Rate: Face    Star