Le mot-clé
self
est utilisé pour remplacer une classe au sein d'une classe, en remplaçant la classe elle-même où se trouve la méthode actuelle Avec l'implémentation de 继承
, si 子类
accède à 父类方法
, self
. Est-ce que cela remplace la classe actuelle ou la classe d'accès ?
<?php class Fu{ public static $type="Fu"; public static function getType(){ echo self::$type." self<br>"; } } class Zi extends Fu{ public static $type="Zi"; } Fu::gettype();//Fu self Zi::gettype();//Fu self ?>
Comme le montre l'exemple ci-dessus, self
représente la classe actuelle, c'est-à-dire sa classe parent, et non la sous-classe héritée.
Si vous sélectionnez dynamiquement la classe à laquelle appartient le visiteur lors de l'accès à la méthode, vous devez utiliser le mot-clé static关
au lieu de self
pour accéder aux membres de la classe.
<?php class Fu{ public static $type="Fu"; public static function getType(){ echo self::$type." self<br>";//类的静态绑定 echo static::$type." static<br>";//类的静态延迟绑定 } } class Zi extends Fu{ public static $type="Zi"; } Fu::gettype();//Fu self Fu self Zi::gettype();//Fu self Zi static ?>
Recommandé : ptutoriel hp, 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!