[PHP-users 19604]Re: インスタンスの生成無しで利用するクラスメソッド内から、同クラスの他メソッド・プロパティを利用する方法について

yuji koga koga-y @ mcp-net.com
2003年 12月 26日 (金) 16:52:06 JST


お世話になります。古賀です。
いわきり様、レス有り難うございます。

> __CLASS__でちゃんとA, B, Cが帰ってくると楽なんですけどね。

マニュアルの表記から、当然そういう動作を期待していたのですが、
誠に残念です。。。

> 私が良くやる方法は、クラスメソッドとして呼ばれた場合は
> 自オブジェクトを生成して、結果を返すというものです。

クラス名さえ取得出来れば、応用範囲は広がります。
メソッド内に自インスタンス生成してメソッド実行>返値返し、
定数扱いのクラス固有プロパティ返し、
はたまたシングルトン生成メソッドからインスタンス返し、等々、
これで自分の期待する構成が実現できるようになりました。

ご助言下さった皆様、有り難うございました。

> PEARなんかでよく使われていたりしますが、
> debug_backtrace()を使うのは、気持ち悪いですけど

専用の関数が用意されるか、もしくはせっかく用意された__CLASS__で
ちゃんとA, B, Cが返ってくるような仕様になることを切に願います。
こういう要望って、何処に伝えれば良いのでしょうか?

ところでPEARでもdebug_backtrace()で自クラス名取得しているのですか?
(ちゃんと調べれば良かった、とちょっと反省しています)
(同時に、PEARでも使われているなら大丈夫だろう、と安心しました)


<? /*********************************
       koga-y @ mcp-net.com
*********************************/ ?>



PHP-users メーリングリストの案内