作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在PHP中get_called_class()
有什么区别?和 get_class($this)
在实例中使用时?
例子:
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_call_class()
或 get_class($this)
之一?
最佳答案
在这种情况下没有区别,因为 $this
总是指向使用 get_class()
解析类名的正确实例。
get_called_class()
函数用于静态方法。当覆盖静态方法时,此函数将返回为正在调用的当前方法提供上下文的类名。
关于PHP:get_call_class() 与 get_class($this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16515516/
在PHP中get_called_class()有什么区别?和 get_class($this)在实例中使用时? 例子: class A { function dump() {
我是一名优秀的程序员,十分优秀!