Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen statischen PHP-Methoden und instanziierten Methoden?
Unterschied: 1. Statische Methoden können direkt aufgerufen werden, ohne dass Speicherplatz und andere Vorgänge geöffnet werden müssen, während Instanzmethoden Speicherplatz öffnen müssen. 2. Statische Methoden teilen sich einen Speicherplatz und dieselben Daten, während Instanzmethoden diese nicht gemeinsam nutzen Raum und Daten; 3. Statische Methoden unterstützen das Kettenschreiben nicht, Instanzmethoden unterstützen jedoch das Kettenschreiben.
Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 7.1, Dell G3-Computer.
Statische Methoden belegen nur eine Kopie des Speichers und werden erstellt, wenn der Code geladen wird. Instanziierungsmethoden oder Klassen werden nur erstellt, wenn sie neu sind. Jedes instanziierte Objekt stellt eine andere Instanz dar und es gibt nur eine statische Kopie. Achten Sie besonders darauf, dass statische Methoden in Multithreads Ressourcen gemeinsam nutzen.
Unterschiede:
1. Der Aufruf statischer Methoden erfordert keinen neuen Klassennamen::Methodennamen.
Zum Beispiel:
User::find();
Hinweis: Nicht statische Eigenschaften können nicht in statischen Methoden aufgerufen werden.
Instanzmethoden erfordern neue.
Zum Beispiel:
12$userObj = new User;$userObj->find();
2. Es gibt nur eine Kopie statischer Methoden im Speicher und Ressourcen werden innerhalb eines PHP-Lebenszyklus gemeinsam genutzt.
Hinweis: Statische Methoden und Eigenschaften werden beim Laden der Klasse geladen, daher verbrauchen zu viele statische Methoden mehr Speicher.
Jedes Mal, wenn eine Instanzmethode neu ist, wird ein unabhängiger Raum geöffnet, dh es werden mehrere Kopien im Speicher vorhanden sein.
3. Statische Methodenleistung: Direkter Aufruf, keine Notwendigkeit, Speicherplatz und andere Vorgänge zu öffnen, bessere Zeit und Effizienz.
Instanzmethoden benötigen etwas Zeit, um Speicherplatz und andere Vorgänge zu öffnen.
4 gleiche Kopie Daten, in einigen Szenarien ist es besser, statische Methoden zu verwenden
Beispielmethode Mehrere Instanzen teilen nicht den gleichen Speicherplatz und die gleichen Daten
5 Das Schreiben statischer Methodenketten wird nicht unterstützt
Unterstützung für Instanzmethoden. Zum Beispiel:
1$userObj->fields('uid')->where('uid>0')->find();
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen statischen PHP-Methoden und instanziierten Methoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!