我会得到相同的结果吗?
并不是的。不过,我不知道针对PHP 5.2的解决方法。
new self和之间有什么区别new static?
self指的
new是实际写入关键字的同一类。
static在PHP 5.3的最新静态绑定中,指的是您在层次结构中调用方法的任何类。
在以下示例中,
B从继承两个方法
A。该
self调用必然会
A因为它在定义
A的实现第一种方法的,而
static必然要调用的类(见
get_called_class())。
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()); // Aecho get_class(B::get_static()); // Becho get_class(A::get_self()); // Aecho get_class(A::get_static()); // A


