In diesem Artikel wird hauptsächlich der Unterschied zwischen statischen Attributen und statischen Methoden in PHP ausführlich erläutert. Freunde, die es benötigen, können darauf verweisen
statisch
öffentlich , privat, geschützt
Statische Eigenschaften
Das Hinzufügen des statischen Schlüsselworts vor einer Eigenschaft oder Methode ist eine statische Eigenschaft
In der tatsächlichen Arbeit wird es solche geben Bei mehreren Objekten einer Klasse kann eine Kopie der Daten gemeinsam genutzt werden.
Lösung:
1: Klassenkonstante, kann nicht geändert werden.
Beispiel:
2: Manchmal müssen nach dem Teilen eines Datenelements auch alle Objekte, die diese Daten teilen, Änderungen zulassen.
Es gibt also Statik
Syntax:
Beispiel:
Tipp: Statische Eigenschaften ähneln Klassenkonstanten (identisch). Der einzige Unterschied besteht darin, dass Klassenkonstanten nicht geändert werden können, während statische Eigenschaften geändert werden können. Die Zugriffsmethode ist dieselbe.
:: Sie können nur auf Klassenkonstanten, statische Eigenschaften und statische Methoden zugreifen.
Statische Eigenschaften müssen $ hinzufügen. Vor dem Konstantennamen steht kein $, daher ist dies nicht erforderlich Fügen Sie es überhaupt hinzu, wenn Sie auf Klassenkonstanten zugreifen.
-> Es besteht keine Notwendigkeit, $ nach 🎜>
Zugriff auf statische Mitglieder: Zugriff auf statische EigenschaftenZugriff auf öffentliche statische Eigenschaften erfolgt außerhalb der Klasse:
Syntax:
Klassenname::statischer Attributname
Zugriff auf alle statischen Attribute innerhalb der Klasse
Statischer Methodenzugriff
Zugriff außerhalb der Klasse
Syntax:
Statische Methoden existieren im Klassenraum.Klassenname::Methodenname();
Klasseninterner Zugriff:
Syntax:
selbst : :Methodenname();
Der Unterschied zwischen statisch und nicht statisch:Statische Eigenschaften werden im Klassenraum gespeichert , nicht statische Eigenschaften Auf statische Attribute, die im Objektraum gespeichert sind
, wird über Klassenzugriff (::) zugegriffen, auf nicht statische Attribute wird über Objekt zugegriffen (->)
statische Methoden sind Zugriff über Klassenzugriff (:),Wenn eine Methode die zum Objektraum gehörenden Attribute nicht intern bearbeitet, wird sie in eine statische Methode gekapselt und über die Klasse aufgerufen. Diese Methode ist viel schneller .
$this kann nicht in statischen Methoden erscheinen*******
Wichtiger Hinweis:
Wenn es zu einer Klasse gehört, verwenden Sie den Klassennamen oder self::, wenn es zu einem Objekt gehört, verwenden Sie den Objektnamen oder $this->. (Außer gewöhnliche Methoden ==> Obwohl gewöhnliche Methoden zum Klassenraum gehören, muss dennoch mit $this oder dem Objektnamen auf sie zugegriffen werden.)
Magische Methode
php-Ausgabeanweisung :echo Der Wert false hat keine Ausgabeprint_r() kann nicht nur skalare Datentypen ausgeben, sondern auch Daten. Es gibt keine Ausgabe für den booleschen Wert false
var_dump($v1,$v2); Ausgabevariablen sind mehr Die Informationen dienen hauptsächlich Programmierern zum Debuggen von Programmen mit __tostring(); Beim Echo eines Objekts bedeutet dies das Konvertieren einer Struktur in eine Zeichenfolge. Die magische Methode __tostring() wird vom automatischen PHP-Ausführungsmechanismus aufgerufen, wenn ein Objekt aufgrund einer Operation in einen String umgewandelt werden soll. Mit dieser Methode wird der Fehler (Schwerwiegender Fehler) erfasst und eine Eingabeaufforderungsmeldung ausgegeben. Beispiel:__clone(
clone(); KlonfunktionDas Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, das wird so sein für die Lernhilfe aller nützlich sein.
Verwandte Empfehlungen:
thinkphp3.2.3-Registrierung Hochladen Bilder
Vollständiges Beispiel für thinkphp3.2.3-Paging
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen statischen Attributen und statischen Methoden in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!