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

TAKAHASHI Masayoshi php-users@php.gr.jp
Tue, 18 Sep 2001 21:03:17 +0900


高橋征義です。

どういうコードを想定されているのか、あんまり見えていないの
ですが……。

[PHP-users 2117] にて、
Osamu Shigematsu <shige@ravi.ne.jp> wrote:
> いろいろ調べているのですが、たとえば、いくつかの選択肢を持つデータ (例:性別
> 男性、女性、法人、不明=NULL) があるとして、実際に PHP でコーディングするさい
> には、次のようなことを考えないといけないと思います。
(略)
>     数値クラス
>         -> 特定の範囲を持つ数値クラス
>             -> 数値の選択肢のクラス
>                 -> SELECT タグに変換するクラス

うーん、これは継承が深すぎるんじゃないでしょうか。最初から、
「select/radiobutton/checkbox などの情報を保持し、HTML化できる
クラス」を1個だけ用意しておくくらいじゃだめなんですか?
継承関係がないと困ります?

# 例えば、$obj->to_html() というメソッドを使えば$objの情報をHTML
# 化できる、とかいう約束を決めておけば、$objには継承関係はなくても
# 構いませんよね。

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

<< と to_s は全然ちがいますが……。ここは何がしたいのかよくわかりま
せんでした。

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

例えば、 $obj->element_type というプロパティがあったとして、その
プロパティが "checkbox" なら checkboxタイプのINPUT要素群、"select"
ならSELECT要素を生成する、ということにして、一つのクラスにするとか
(いや、別にサブクラスを作ってもいいですけど)。

そのクラスをどう使うか、などといったサンプルはありますか?

高橋征義 (TAKAHASHI Masayoshi)       Email:maki@inac.co.jp