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 en php représente la classe actuelle, alors comment obtenir les données de la classe d'accès ?

autoload
autoloadoriginal
2021-03-12 15:03:251502parcourir

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 = &#39;People&#39;;
    public static function showName(){
        //静态绑定
        echo self::$name,&#39;<br/>&#39;;//self
        //静态延迟绑定
        echo static::$name,&#39;<br/>&#39;;
    }
}
//子类
class Man extends People{
    //重写父类静态属性
    public static $name = &#39;Man&#39;;    //静态属性因为存储在类内部,因此不会覆盖
}

//子类访问

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!

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