This article mainly introduces the late static binding of PHP, has a certain reference value, now share to everyone, the need for friends can refer to
PHP 5.3.0, PHP added a function called late static binding, used to refer to statically invoked classes within the scope of the inheritance, this is the official PHP explanation, that is, in the class inheritance process, the class is no longer the current class, but the call class.
Later static bindings are implemented using the keyword static, which, through this mechanism, "static:" is not parsed to define the class in which the current method is located, but is computed at the actual run time, the class originally called at runtime.
Although it is called a late static binding, it is not limited to the invocation of static methods.
Class a{public static function call () { echo "class a<br/>"; } public static function test () { self::call (); Static::call (); }} Class B extends a{public static function call () { echo "Class B"; }} Echo (B::test ());//output result://class a//class B
The above is the whole content of this article, I hope that everyone's learning has helped, more relevant content please pay attention to topic.alibabacloud.com!