[PHP-users 2117] Re: PEAR について

Osamu Shigematsu php-users@php.gr.jp
Mon, 17 Sep 2001 15:22:52 +0900


重松です。
大垣さん、こんにちは。
いつもアドバイスありがとうございます。

on 01.9.15 10:53 AM, Yasuo Ohgaki at yohgaki@hotmail.com wrote:

> JavaDocのようなPHPDocというパッケージが在ります。
> PHPDocを使うとAPIをHTMLに変換してくれるので便利と思います。ドキュメン
> テーションは完全ではありせんが、PHPDocが生成したHTMLを見ると直ぐに理解
> &利用できると思います。

JavaDoc 自体知らない (恥) のですが、PHPDoc というものがあるのですね。

とりあえず、今知っているライブラリは、

    PHPLIB
        3.0 用。ただし、4.0 でも動作。
        ・セッション管理 (変数の永続、アクセス制御など)
        ・データベースの抽象化

    FastTemplate
        3.0 用。4.0 ではコードの手直しが必要。
        ・PHP スクリプトと HTML の分離。

    PEAR
        4.0 用。

    PHPDOC
        ?

ということになります。

現在セッション管理などは、PHPLIB を使っているので、FastTemplate に相当する、
HTML の分離が目的です。一応自前でクラスライブラリを作ったのですが、PHP は多
重継承できないので、こういう環境での開発経験が不足していて、うまく切り分けら
れないでいます。

いろいろ調べているのですが、たとえば、いくつかの選択肢を持つデータ (例:性別
男性、女性、法人、不明=NULL) があるとして、実際に PHP でコーディングするさい
には、次のようなことを考えないといけないと思います。

    (1) 値が正常な範囲かどうか
    (2) デフォルト値として何を持たせるのか
    (3) データベースでの型 (int, char, etc)
    (4) 画面に表示するには

C++ なんかの場合だと、(継承関係の矢印は、親->子)

    数値クラス
        -> 特定の範囲を持つ数値クラス
            -> 数値の選択肢のクラス
                -> SELECT タグに変換するクラス

というような関係にしたいんですけど、SELECT タグに変換するクラスは、選択肢の
クラスであれば、値の中身は数値だろうと、文字だろうと、何でも良いのですが、
PHP の場合には、どういう風に実装すればよいのかわかりません。

それと、<< 演算子というか、Ruby (Ruby 自体ほとんど知らないですが) to_s() メ
ソッドに相当する関数がないので、いちいち文字列に変換するためのメソッドを明示
的に呼んであげないといけません。これってそういうものなのでしょうか?

今は、

    object
        -> template
        -> array
        -> pair
        -> control
            -> editfield
                -> hiddenfield
                -> staticfield
            -> chooser
                -> listbox
                -> radio
                -> checkbox

というような構成になっていて、つまり、数値を特定の範囲に強制するクラスと、た
とえば、radio を親に持つ、性別クラス、というのを作りたいんだけど、でも作れな
い、という問題なんですが。。。

-- 
Osamu Shigematsu

http://www.ravi.ne.jp/%7eshige/
mailto:shige@ravi.ne.jp