Während des Interviews wurde ich danach gefragt, aber ich hatte keine andere Wahl, als darauf zu antworten. Ich möchte es hier zusammenfassen.
Verwenden Sie self:: oder __CLASS__
einen statischen Verweis auf die aktuelle Klasse, abhängig von der Klasse, in der die aktuelle Methode definiert ist:
Die Verwendung von static:: ist nicht mehr möglich aufgelöst als Definition der aktuellen Klasse. Die Klasse, in der sich die Methode befindet, wird 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. Es wird die Methode oder das Attribut der Unterklasse
verwendet
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Unterschieds zwischen static und self in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!