如何获得这个类的名称?

时间:2012-05-07 11:34:21

标签: php oop class

我尝试打印创建新对象的类的名称。 我得到了这段代码:

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 个答案:

答案 0 :(得分:3)

在这种情况下你应该写

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

您可以查看http://www.php.net/manual/en/function.get-called-class.php

答案 1 :(得分:3)

对于PHP&gt; = 5.3.0,请使用

get_called_class()

否则,请使用

get_class($this)

在你的问题的背景下。

答案 2 :(得分:1)

__class__指向代码

使用get_class($this)代替