php 后期延迟静态绑定
xxxx::getStatic()
调用的时候才知道返回的是谁 xxxx::getSelf()
在哪个类里写着就返回那个类
代码:
class A {
public static function self() {
return new self();
}
public static function static() {
return new static();
}
}
class B extends A {}
echo get_class(A::self())."\n"; // A
echo get_class(A::static())."\n"; // A
echo get_class(B::self())."\n"; // A
echo get_class(B::static())."\n"; // B 后期静态绑定
输出:
A
A
A
B