如何在PHP中继承类名?

时间:2012-07-26 15:19:03

标签: php

如何获取子类的类名而不是父类?两者都打印a,但应在第二个b中打印var_dump()

 <?php
    class a
    {
        public $name;

        public function __construct()
        {
            $this->name=get_class();
        }
    }

    class b extends a
    {
        public function b()
        {
            parent::__construct();
        }
    }

    $a= new a();
    $b=new b();

    var_dump($a); //prints a
    var_dump($b); //prints a, i want to be printed b here
?>

2 个答案:

答案 0 :(得分:2)

$this传递给get_class()

$this->name = get_class($this);

答案 1 :(得分:1)

在静态方法中,get_class()__ CLASS __工作。

只有get_called_class()才有效。

请参阅:http://php.net/manual/en/function.get-called-class.php