我正在将PHP5.3库转换为PHP5.2。我遇到的主要障碍是使用了后期静态绑定,比如returnnewstatic($options),如果我将其转换为返回新的self($options)会得到相同的结果吗
新自我和新静态之间有什么区别
我会得到同样的结果吗
不是真的。不过,我不知道PHP5.2有什么变通方法
新自我和新静态之间有什么区别
self指实际编写new关键字的同一类
static,在PHP5.3后期的静态绑定中,指的是层次结构中调用方法的任何类
在下面的示例中,B从A继承这两个方法。self调用绑定到A,因为它是在第一个方法的A实现中定义的,而static绑定到被调用的类(另请参见get\u called\u class())
A类{
公共静态函数get_self(){
返回新的自我();
}
公共静态函数get_static(){
返回新的static();
}
}
类B扩展了{}
echo get_类(B::get_self());//A.
echo get_类(B::get_static());//B
echo get_类(A::get_self());//A.
echo get_类(A::get_static());//A.