1. Le principe de fonctionnement de la liaison statique tardive est de stocker le nom de la classe dans l'"appel sans transfert" précédent. Lors d'un appel de méthode statique, le nom de la classe est celui explicitement spécifié (généralement sur le côté gauche de l'opérateur :: lors d'un appel de méthode non statique, il s'agit de la classe à laquelle appartient l'objet) ; Cette fonctionnalité est appelée « liaison statique tardive » d'un point de vue interne au langage. « Liaison tardive » signifie que static :: n'est plus résolu en classe dans laquelle la méthode actuelle est définie, mais est calculé au moment de l'exécution réelle.
2. Exemple de test :
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
Recommandations associées :
Description détaillée d'une liaison statique tardive dans Laravel
Introduction à la fonction de liaison statique tardive orientée objet PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!