Heim  >  Artikel  >  Backend-Entwicklung  >  Bereichsparser in PHP

Bereichsparser in PHP

无忌哥哥
无忌哥哥Original
2018-06-28 15:03:561527Durchsuche

* Scope-Parser::

* 1. Zweck

* 1. Statische Mitglieder aufrufen (außerhalb der Klasse)

* 2. Klassenkonstanten aufrufen

* 3. Klassenmitglieder (Eigenschaften/Methoden) aufrufen, die von Unterklassen abgedeckt werden

* 2. Szenarien

* 1. Außerhalb der Klasse: Der Zugriff auf die Klasse erfolgt nur über den Klassennamen erlaubtes Mitglied

* 2. Innerhalb der Klasse: nur Folgendes ist erlaubt: self, parent, static

* 3. Besonderheit: Klassennamenvariablen dürfen zur Referenzierung des Klassennamens verwendet werden (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;
    }
    
}

//1. Rufen Sie statische Mitglieder der Klasse von außerhalb der Klasse auf

echo Demo1::HOME,&#39;<br>&#39;;
echo Demo1::test1();
echo &#39;<hr>&#39;;
echo Demo2::test1();
echo &#39;<hr>&#39;;

//Beachten Sie den Unterschied zwischen Demo1, der test2() aufruft, und Demo2, der test2( )

//Demo1::test () Gibt das laufende Ergebnis von test1() in Demo1 zurück

echo Demo1::test2();
echo &#39;<hr>&#39;;

//Demo2::test2() Gibt das laufende Ergebnis von test1() in Demo2 zurück

echo Demo2::test2();
echo &#39;<hr>&#39;;

//php5.3+, erlaubt Verwenden Sie Klassenvariablen, um

$class = &#39;Demo2&#39;;
echo $class::test2();
aufzurufen

Das obige ist der detaillierte Inhalt vonBereichsparser in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn