PHP中new static() 和 new self() 的区别
Posted Burning_Leaf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中new static() 和 new self() 的区别相关的知识,希望对你有一定的参考价值。
self 指的是self所在的类
new static 实例化的是当前使用的类,有点像$this ,从堆内存中提取出来。
还是通过实例说明一下:
class A {
public static function get_self() {
return new self();
}
public static function get_static() {
return new static();
}
}
class B extends A {}
echo get_class(B::get_self()); // A
echo get_class(B::get_static()); // B
echo get_class(A::get_static()); // A
以上是关于PHP中new static() 和 new self() 的区别的主要内容,如果未能解决你的问题,请参考以下文章
php -- new self() 和 new static