[PHP-users 2412] Re: クラス名から継承関係を調べる

naoki kishida php-users@php.gr.jp
Wed, 03 Oct 2001 05:17:10 +0900


きしだです

> $newclass = "MyClass";
> $instance = new $newclass();
> 
> というのはできるようです。
> でも,デフォルトコンストラクタがなきゃならんのでしょうね。

こういう書き方できるんですね。
コンストラクタも引数無しのものしかないことを前提にできるのでこれを使うこ
とはできます。でも、継承関係を調べるだけなら、オブジェクト作るよりは
get_parent_classの方がいいみたいですね。

> 延々たどらず,強引に1回で調べる「カッコ悪い」方法ならあります。
> class MyRootClass {
>     function descendant_of_myrootclass() { }  // この存在をチェック
>     ...
> }
> これを継承しているクラス(継承クラスの継承クラスの...でもよい)
> にはメソッドdescendant_of_myrootclass()があるはずなので,
> これの有無でチェックする方法です。

いえ、「かっこいい」です。使いませんけど。。。(^_^)

----
岸田 哉生(きしだ なおき)
	email:kishida@fk.urban.ne.jp
	http://www.fk.urban.ne.jp/home/kishida/