Heim > Artikel > Backend-Entwicklung > Der Unterschied zwischen dem statischen Klassenaufruf und dem Bereichsauflösungsoperator in PHP
In diesem Artikel wird hauptsächlich der Unterschied zwischen statischen Klassenaufrufen und Bereichsauflösungsoperatoren in PHP vorgestellt. Ich hoffe, dass er allen helfen kann.
Der spezifische Code lautet wie folgt:
<?php //在子类或类内部用“::”调用本类或父类时,不是静态调用方法,而是范围解析操作符。 class ParentClass { public static $my_static = 'parent var '; function test() { self::who(); // 输出 'parent' 是范围解析,不是静态调用 $this->who(); // 输出 'child' static::who(); // 延迟静态绑定 是范围解析,不是静态调用 } function who() { echo 'parent<br>'; } } class ChildClass extends ParentClass { public static $my_static = 'child var '; function who() { echo 'child<br>'; } } $obj = new ChildClass(); $obj->test(); echo ChildClass::$my_static;//静态调用
Die obige Ausgabe
Elternteil
Kind
child
child var
Verwandte Empfehlungen:
Können nicht statische Methoden in PHP statisch aufgerufen werden? (Seltsamer Aufruf)
Anwendungsanalyse von PHP, die nicht-statische Methoden statisch aufruft_PHP-Tutorial
Anwendungsanalyse von PHP, die nicht-statische Methoden statisch aufruft
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen dem statischen Klassenaufruf und dem Bereichsauflösungsoperator in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!