Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen dem statischen Klassenaufruf und dem Bereichsauflösungsoperator in PHP

Der Unterschied zwischen dem statischen Klassenaufruf und dem Bereichsauflösungsoperator in PHP

小云云
小云云Original
2018-01-11 10:32:251336Durchsuche

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 = &#39;parent var &#39;;
 function test() {
  self::who(); // 输出 &#39;parent&#39; 是范围解析,不是静态调用
  $this->who(); // 输出 &#39;child&#39;
  static::who(); // 延迟静态绑定 是范围解析,不是静态调用
 }
 function who() {
  echo &#39;parent<br>&#39;;
 }
}
class ChildClass extends ParentClass {
 public static $my_static = &#39;child var &#39;;
 function who() {
  echo &#39;child<br>&#39;;
 }
}
$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!

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