[PHP-users 9188] Re: クラス関数とオブジェクト関数で同一名を使うには?

Yasuo Ohgaki php-users@php.gr.jp
Tue, 06 Aug 2002 16:07:41 +0900


大垣です。

Yasuo Ohgaki wrote:
> <?php
> class ClassA {
>    // クラス関数で呼ばれたか、オブジェクト関数で呼ばれたか?
>    function check() {
>      return isset($this)?'オブジェクト':'クラス';
>    }
> }
> 
> echo ClassA::check();
> $obj = new ClassA;
> echo $obj->check();
> ?>
> 
> 多分、PHP5でも動作すると思います。
> # 今の所、動作します。

元の記事を読んでませんでした。
しかし、例に書いてあるコードと結果におかしな
所はありませんが、どこがおかしいのでしょうか?

# PHP4のオブジェクトはハンドルではなく、オブジェクト
# 自体がコピーされてるのが困ると言う事でしょうか?

たしか、isset($this)はPEARにも使われていると思います。
使ってはいけないと言う物ではないと思います。

--
Yasuo Ohgaki