1. Das Arbeitsprinzip der späten statischen Bindung besteht darin, den Klassennamen im vorherigen „Nicht-Weiterleitungsaufruf“ zu speichern. Bei einem statischen Methodenaufruf ist der Klassenname der explizit angegebene (normalerweise auf der linken Seite des ::-Operators); bei einem nicht statischen Methodenaufruf ist es die Klasse, zu der das Objekt gehört. Aus sprachinterner Sicht wird diese Funktion als „späte statische Bindung“ bezeichnet. „Späte Bindung“ bedeutet, dass static:: nicht mehr in die Klasse aufgelöst wird, in der die aktuelle Methode definiert ist, sondern zur tatsächlichen Laufzeit berechnet wird.
2. Testbeispiel:
class A{ public function run() { static::test(); //后期静态绑定 self::test(); //不是后期静态绑定 } public static function test() { echo 'A Class<br>'; }}class B extends A { public static function test() { echo 'B Class<br>'; }} $a = new B();$a->run(); //输出结果 //B Class //A Class
Verwandte Empfehlungen:
Detaillierte Beschreibung einer späten statischen Bindung in Laravel
Einführung in die objektorientierte späte statische PHP-Bindungsfunktion
Das obige ist der detaillierte Inhalt vonTeilen von Beispielen für die späte statische PHP-Bindung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!