Maison > développement back-end > tutoriel php > Analyseur de plage en php

Analyseur de plage en php

无忌哥哥
Libérer: 2023-04-01 21:06:02
original
1560 Les gens l'ont consulté

* Analyseur de portée ::

* 1. Objectif

* 1. Appeler des membres statiques (en dehors de la classe)

* 2. Appeler des constantes de classe

* 3. Appeler les membres de la classe (propriétés/méthodes) couverts par les sous-classes

* 2. Scénarios

* 1. En dehors de la classe : Seul l'accès à la classe via le nom de la classe est Membre autorisé

* 2. À l'intérieur de la classe : seuls les éléments suivants sont autorisés : self, parent, static

* 3. Spécial : les variables de nom de classe peuvent être utilisées pour référencer le nom de la classe (php5.3+)

class Demo1 
{
    const HOME = '合肥';
    public static function test1()
    {
        return __METHOD__;
    }
    public static function test2()
    {
        //延迟静态绑定:后面会说到
        //static::根据上下文来决定使用哪个类来调用
        return static::test1();
    }
}
class Demo2 extends Demo1
{
    public static $name = '朱老师';
    public static function test1()
    {
        //调用本类静态成员: self::
        $res = self::$name.&#39;<br>&#39;;
        //调用父类静态成员属性: parent::
        $res .= parent::HOME.&#39;<br>&#39;;
        //调用父类静态成员方法
        $res .= parent::test1().&#39;<br>&#39;;
        $res .= __METHOD__;
        return $res;
    }
    
}
Copier après la connexion

//1. Appelez les membres statiques de la classe depuis l'extérieur de la classe

echo Demo1::HOME,&#39;<br>&#39;;
echo Demo1::test1();
echo &#39;<hr>&#39;;
echo Demo2::test1();
echo &#39;<hr>&#39;;
Copier après la connexion

//Notez la différence entre l'appel de Demo1 test2() et l'appel de Demo2. test2()

// Demo1::test() renvoie le résultat d'exécution de test1() dans Demo1

echo Demo1::test2();
echo &#39;<hr>&#39;;
Copier après la connexion

//Demo2::test2() renvoie le résultat d'exécution de test1 () dans Demo2

echo Demo2::test2();
echo &#39;<hr>&#39;;
Copier après la connexion

//php5.3+, permet l'utilisation de variables de classe pour appeler

$class = &#39;Demo2&#39;;
echo $class::test2();
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal