self(): 返回此方法定义的类的实例
static(): 返回调用的类的实例(可以是子类)
<?php
class A {
public static function getSelf() {
return new self();
}
public static function getStatic() {
return new static();
}
}
class B extends A {}
echo get_class(B::getSelf()); // A
echo get_class(B::getStatic()); // B
echo get_class(A::getSelf()); // A
echo get_class(A::getStatic()); // A