Maison  >  Article  >  développement back-end  >  PHP a retardé l'analyse d'un exemple de liaison statique

PHP a retardé l'analyse d'un exemple de liaison statique

高洛峰
高洛峰original
2016-12-26 16:10:511074parcourir

L'exemple de cet article décrit la méthode de liaison statique retardée en PHP. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

liaison statique retardée php : fait référence au soi de la classe, qui n'est pas basé sur le moment de la définition, mais sur les résultats d'exécution lors du calcul. Regardons d'abord un exemple

<?php
header("content-type:text/html;charset=utf-8");
class Human{
 public static function hei(){
 echo "我是父类的hei()方法";
 }
 public function say(){//如果子类调用父类的say()方法,则
 self::hei();//这里调用的是父类的hei()方法
 static::hei();
//这里调用子类的hei()方法,如果子类不存在hei()方法,则调用父类的
 }
}
class Stu extends Human{
 public static function hei(){
 echo "我是子类的hei()方法";
 }
}
 
$stu = new Stu();
$stu->say();
?>

Description :

(1) Lorsque la sous-classe instancie l'objet $stu et appelle la méthode say, elle s'exécute dans le classe parent Human , donc self::hei() dans say() appelle la méthode hei() de la classe parent.

(2) static::method name() : lors de l'utilisation du mot-clé static, la méthode est d'abord recherchée dans la sous-classe ; si elle n'est pas trouvée, elle est recherchée dans la classe parent ;

J'espère que cet article sera utile à la conception de la programmation PHP de chacun.

Pour plus d'articles liés à l'analyse d'exemples de liaison statique retardée PHP, veuillez faire attention au site Web chinois de PHP !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn