繁体   English   中英

PHP get_class的功能

[英]Functionality of PHP get_class

谁能解释为什么get_class函数在下面返回不同的值? 具体来说,当在基类中调用它并且在派生类中调用它时应该做什么?

abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this)); //prints 'foo'
        var_dump(get_class()); // prints 'bar'
    }
}

class foo extends bar {
}

new foo;

文档中似乎已经很好地解释了,但是这里是:

get_class($instance)返回$instance实例的类,无论您在何处调用它。 get_class($this)行为相同,返回$this的类。

get_class()返回定义了调用它的方法的类,因此它在您的示例中返回bar ,因为这是定义__construct()地方(即使您是通过继承调用它的)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM