在 PHP 中,有什么区别get_called_class() http://php.net/manual/en/function.get-called-class.php and get_class($this) http://php.net/manual/en/function.get-class.php当在实例内部使用时?
Example:
class A {
function dump() {
echo get_called_class();
echo get_class($this);
}
}
class B extends A {}
$A = new A();
$B = new B();
$A->dump(); // output is 'AA'
$B->dump(); // output is 'BB'
这种情况有什么不同吗?
我什么时候应该使用其中之一get_called_class()
or get_class($this)
?
在这种情况下没有区别,因为$this
始终指向使用以下方法解析类名的正确实例get_class()
.
功能get_called_class()
适用于静态方法。当静态方法被重写时,此函数将返回为当前调用的方法提供上下文的类名。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)