tonextone.com/note/

Last-modified: 2006-09-01 (金)

Copyright ©master_at_tonextone.com All rights reserved.

PEAR その1

Posted : 2005-11-27 00:00 / Category : [開発日誌]
PEAR との付き合い方を探っている。
これまで使った事があるもの:
  1. 誰が作っても同じ API になりそうな比較的堅いもの。
    ( HTTP_Request など)
  2. 自作するには労力がかかりすぎるもの。
    ( XML_Serializer など)
つまり、いろんな意味でブラックボックスとして扱いたい単機能は PEAR で充分。
逆に、開発のモチベーションに直結する機能、ブラックボックスでは困る機能に関しては、
自作ライブラリを使って来た…と言える。今にして思えば。

大きめの開発の立ち上がりは、いつもライブラリ/フレームワークの設計から始めていた。
フレームワークの開発自体に面白味を感じていたからこそ、そういうスタイルでやって来たわけで、
それが今では自分の力になっている。
一人で開発・メンテナンスするなら、それで良いと思う。

ただ、これからは、いろいろとオープンにしたいので、
まぁ共通語としての PEAR を読み書きくらいは出来るように勉強中。

今日のメモ:

  1. PEAR に channel:// という概念が導入され、
    レポジトリを切替えてパッケージ管理できるように?なったらしい。
    $ pear config-show;
    してみると、デフォルトの channel なんかが見れる。
    $ pear upgrade 'channel://pear.php.net/XML_Serializer-0.18.0';
    とか使う。
  2. DB は抽象化クラス。
    DB_DataObject は O/R マッパークラス。
    基本的な部分しか試してないけど、分かりやすい。
    O/R マッピングってこういうことか…。
    O/R マッパーじゃないけど似たような使い勝手のライブラリ
    (非オブジェクト指向)を自作してあるので早くも興ざめ。
次は、Auth, Mail_Mime を。
さらにその後は web2.0 な、 HTTP_Request, XML_Serializer, XML_RPC, HTML_AJAX で遊ぶ予定。

トラックバック

1: tonextone.com/note//PEAR その2 (12/04 00:30)
「PEAR その1」の続き。

ツッコミ

1: itoh (11/27 02:12)
Authは、うーん。・・自分で作った方が何かと良いような・・。

O/Rマッパーはフレームワーク毎に持ってたりと、色々ですね。ADOdbも。
PECLでPDO SDOなんかもあるし。
でも、フレームワーク付きのしか使った事無い。
2: master (11/27 16:42)
O/Rマッパーと言っても、いろいろありますね。
(1)最小限の記述でマッピングできる。
(2)データオブジェクトを直接操作している感じがする。
らへんが売りだと思うのですが、
「どういうレベル(というか粒度)のオブジェクトにマッピングするか」
にも作者の思想が表れていますね。

私の場合は、単純に、
コーディングする際の繰り返しを減らしたいだけです。
特定の RDB に固有の機能も捨て難いので、高度な抽象化は不要です。

この辺のトレードオフも、設計の肝だと思います。
(厳密には開発したいアプリ毎に違うわけですが)

Rails はいろいろ大胆に切り捨てた結果、普及しましたね(2:8 の法則?)。

最近公開された、
http://kunit.jp/maple/wiki/index.php?%B3%C8%C4%A5%2FDb%2FActiveGateway
は、DB_DataObject と ( Rails の)ActiveRecord との
中間的な存在として注目しています。

pdo,sdo は PHP5 な環境を作ったら試してみます…いつのことやら。
3: 通りすがり (12/12 03:25)
> コーディングする際の繰り返しを減らしたいだけです。
そうそう。これは重要。
これだけを考えていたら、フレームワークを使ってたという感じです。

> pdo,sdo は PHP5 な環境を作ったら試してみます
PDOが使えるなら、サイボウズラボの公開しているCBL ActiveRecord使ってみたいけど、
いつになるやらというのは同意。
4: itoh (12/12 03:25)
名前忘れました。
[ このエントリへはツッコミ出来ません ]