Maison >développement back-end >Problème PHP >Self en php représente la classe actuelle, alors comment obtenir les données de la classe d'accès ?
self
est une sorte de liaison statique. En d'autres termes, lorsque la classe est compilée, self
a été explicitement lié au nom de la classe, donc peu importe le nombre de 继承
, ce n'est pas le cas. peu importe que ce soit 子类
ou 父类
lui-même. Venez visiter, les self
représentants sont tous 当前类
. Si vous souhaitez soutenir sélectivement les visiteurs, vous devez utiliser 静态延迟绑定
.
Définition : 静态延迟绑定
, c'est-à-dire que la partie mot-clé utilisée pour représenter la classe elle-même au sein de la classe n'est pas fixe lorsque la classe est compile , mais sélectionne dynamiquement la classe à laquelle appartient le visiteur lors de l'accès à la méthode. 静态延迟绑定
consiste à utiliser le mot-clé static
au lieu de la liaison statique self
La liaison statique retardée nécessite la réécriture des membres statiques.
1. Liaison retardée statique : utilisez le mot-clé static
au lieu de self
pour 类成员
accès
<?php //父类 class People{ public static $name = 'People'; public static function showName(){ //静态绑定 echo self::$name,'<br/>';//self //静态延迟绑定 echo static::$name,'<br/>'; } } //子类 class Man extends People{ //重写父类静态属性 public static $name = 'Man'; //静态属性因为存储在类内部,因此不会覆盖 } //子类访问 echo Man::$name."<br>";//Man Man::showName();//输出People和Man ?>
2. Liaison retardée statique Accès doit passer par des sous-classes héritées pour être efficace
//接上述代码 People::showName();//输出People People
Recommandé : tutoriel vidéo 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!