Heim >Backend-Entwicklung >PHP-Tutorial >Der Unterschied zwischen static und self in PHP
Ein statischer Verweis auf die aktuelle Klasse unter Verwendung von self:: oder __CLASS__, abhängig von der Klasse, in der die aktuelle Methode definiert ist:
Die Verwendung von static:: ist nein länger aufgelöst Für die Klasse, in der die aktuelle Methode definiert ist, wird sie während der tatsächlichen Laufzeit 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).
Statische Bindung ist PHP 5.3.0. Eine zusätzliche Funktion wird verwendet, um statisch aufgerufene Klassen im Vererbungsbereich zu referenzieren in welche Klasse es geschrieben ist, und es ist diese Klasse, die tatsächlich aufgerufen wird
static stellt die verwendete Klasse dar, also die statische Klasse, die Sie in die übergeordnete Klasse schreiben, und dann wird von der Unterklasse überschrieben.
<?php class Person { public static function name() { echo "111"; echo "<br />"; } public static function callself() { self::name(); } public static function callstatic() { static::name(); } } class Man extends Person { public static function name() { echo "222"; echo "<br />"; } } Man::callself(); // output: 111 Man::callstatic(); // output: 222 ?>Empfohlen:
PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen static und self in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!