How to bind statically in the later stage of PHP
This article introduces how to bind statically in the later stage of PHP, the content is very detailed, interested friends can use it for reference, I hope it can be helpful to you.
Late static binding
"late binding" means that the static:: is no longer resolved to define the class in which the current method resides, but is evaluated at actual run time. It can also be called "static binding" because it can be used for, but not limited to, calls to static methods.
Limitations of self:: late use of static binding
The so-called deferred static binding, as the name implies, when called statically: the binding of the left part of the symbol is delayed, that is, it is no longer resolved to define the class in which the current method is located, but is calculated at the actual run time.
Class A {public static function who () {echo _ CLASS__.PHP_EOL;} public static function test () {self::who ();} public static function test2 () {static::who ();}} class B extends A {public static function who () {echo _ CLASS__;}} B::test (); / / AB::test2 () / / B on the later stage of PHP static binding to share here, I hope the above content can be of some help to you, can learn more knowledge. If you think the article is good, you can share it for more people to see.