Heim > Artikel > Backend-Entwicklung > Codebeispiele für nicht weitergeleitete Anrufe und weitergeleitete Anrufe in PHP
Dieser Artikel enthält Codebeispiele zum Nicht-Weiterleiten von Anrufen in PHP. Ich hoffe, dass er für Freunde hilfreich ist.
Statischer Zugriff auf Mitglieder einer Klasse:
1. Nicht weitergeleitete Anrufe
1) Klarer Klassenname (A::funcA())
2. Weiterleitungsaufruf
1)self:: 2)parent:: 3)static:: 4)forward_static_call() 5)get_called_class()
Hinweis:
„Late binding“ bedeutet, dass static:: nicht mehr in die Klasse geparst wird, in der die aktuelle Methode definiert ist, sondern tatsächlich Lauf zum Zeitpunkt berechnet. Es kann auch als „statische Bindung“ bezeichnet werden, da es für Aufrufe statischer Methoden verwendet werden kann (aber nicht darauf beschränkt ist).
<?php class A { public static function foo() { static::who(); } public static function who() { echo __CLASS__."\n"; } } class B extends A { public static function test() { A::foo(); parent::foo(); self::foo(); } public static function who() { echo __CLASS__."\n"; } } class C extends B { public static function who() { echo __CLASS__."\n"; } } C::test(); ?>Ausführungsergebnisse:
A C CHinweis:
Geerbtes Eigentum gehört Ihnen
Zugriff auf die aktuelle Klasse, Zugriff gemäß den reservierten Wortmerkmalen und dann Zugriff gemäß der Vererbungskette.
$this Zugriffsmitglied (Aufrufkontext)
self:: Zugriffsmitglied (Parsingkontext)
<?php class A{ protected $value = "A value"; public function printValue(){ echo $this->value; } } class B extends A{ protected $value = "B value"; } $app = new B(); $app->printValue();
运行结果:B value
<?php class A{ //只有将属性定义为静态的才能使用self::进行调用 static protected $value = "A static value "; public function printValue(){ echo self::$value; } } class B extends A{ static protected $value = "B static value"; } $app = new B(); $app->printValue();
运行结果:A static value
<?php class A{ static protected $value = "A static value "; } class B extends A{ public function printValue(){ echo self::$value; } } $app = new B(); $app->printValue();
运行结果:A static value
Verwandte Empfehlungen:
PHP Wants Wie implementiert man die Seitensprungfunktion? (Beispiel eines Funktions-Tags)
Wie implementiert man PHP-Dropdown-Menüs und mehrstufige Spalten? (Tatsächlicher Codetest)Der Code, der PHP und HTML kombiniert, um Bilddateien auf den Server hochzuladen
Das obige ist der detaillierte Inhalt vonCodebeispiele für nicht weitergeleitete Anrufe und weitergeleitete Anrufe in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!