Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen statischen PHP-Methoden und instanziierten Methoden?

Was ist der Unterschied zwischen statischen PHP-Methoden und instanziierten Methoden?

WBOY
WBOYOriginal
2022-03-14 11:20:542136Durchsuche

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.

Was ist der Unterschied zwischen statischen PHP-Methoden und instanziierten Methoden?

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 7.1, Dell G3-Computer.

Was ist der Unterschied zwischen statischen PHP-Methoden und Instanziierungsmethoden?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn