* 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.'<br>'; //调用父类静态成员属性: parent:: $res .= parent::HOME.'<br>'; //调用父类静态成员方法 $res .= parent::test1().'<br>'; $res .= __METHOD__; return $res; } }
//1. Rufen Sie statische Mitglieder der Klasse von außerhalb der Klasse auf
echo Demo1::HOME,'<br>'; echo Demo1::test1(); echo '<hr>'; echo Demo2::test1(); echo '<hr>';
//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 '<hr>';
//Demo2::test2() Gibt das laufende Ergebnis von test1() in Demo2 zurück
echo Demo2::test2(); echo '<hr>';
//php5.3+, erlaubt Verwenden Sie Klassenvariablen, um
$class = 'Demo2'; echo $class::test2();
Das obige ist der detaillierte Inhalt vonBereichsparser in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!