2012-05-07 4 views
1

新しいオブジェクトを作成するクラスの名前を表示しようとしました。 このクラスの名前を取得するには?

class Class_A 
{ 
    public function __construct() 
    { 
    echo "new ".__class__." : are created"."<br />"; 
    } 
} 
class B extends Class_A 
{ 

} 
class C extends Class_A 
{ 

} 
$NewObject1= new B (); 
$NewObject2= new C (); 

アウトプット

は次のとおりです:

new Class_A : are created 
new Class_A : are created 

なぜないnew B : are created new C : are created 私はこのコードを得ましたか。

getParentClass()でも試してみましたが、うまくいきませんでした。

答えて

3

この場合、あなたはあなたがPHPの場合は代わりに

1

__class__ポイントで見てみることができ

echo "new ".get_called_class()." : are created"."<br />";

を書く必要があります> = 5.3.0、使用

get_called_class()

そうでない場合は、あなたの質問の文脈で

get_class($this)

を使用しています。