Der Inhalt dieses Artikels ist eine Zusammenfassung der neuen Funktionen in PHP7. Er hat einen gewissen Referenzwert. Ich hoffe, dass er für Sie hilfreich ist.
Es ist fast drei Jahre her, dass PHP7 veröffentlicht wurde, und es hat sich nun zur Version PHP7.2.9 entwickelt. Seine Veröffentlichung hat zu großen Leistungsverbesserungen für PHP geführt, was hauptsächlich auf die tiefgreifende Optimierung der Zend-Engine durch PHP zurückzuführen ist, während gleichzeitig die Ressourcennutzung von PHP auf dem System reduziert wurde.
Die wichtigsten Änderungen sind wie folgt:
Abstrakter Syntaxbaum
In früheren Versionen von PHP war der PHP-Code The Die ZendVM
-Anweisung wird direkt in der Syntaxanalysephase generiert, d. h. die zend_language_parser.y
-Anweisung wird direkt in opline
generiert, wodurch der Compiler und der Executor gekoppelt werden.
Ein abstrakter Syntaxbaum wird zu PHP7 hinzugefügt. Zuerst wird der PHP-Code analysiert, um einen abstrakten Syntaxbaum zu generieren, und dann wird der abstrakte Syntaxbaum in eine ZendVM
-Anweisung kompiliert. Durch das Hinzufügen des abstrakten Syntaxbaums müssen sich der Compiler und der Executor nicht um die Generierungsregeln der Anweisungen kümmern nicht Sie müssen sich darum kümmern, wie die Syntaxregeln dieser Anweisung aussehen.
Native TLS
PHP7 verwendet Native TLS
(lokaler Thread-Speicher), um den Ressourcenpool des Threads zu speichern, einfach ausgedrückt durch __thread
Markieren Sie eine globale Variable, damit diese globale Variable exklusiv für den Thread gilt und Änderungen durch verschiedene Threads sich nicht gegenseitig beeinflussen.
Funktionsparameter und Rückgabewerttypen angeben
In PHP7 können Sie die Funktionsparameter und Rückgabewerttypen angeben.
Änderungen in der zval-Struktur
PHP7 hat die Referenzzählung auf ein bestimmtes value
verschoben, was sinnvoller ist. Darüber hinaus wurde die Größe der zval
-Struktur von 24 Byte auf 16 Byte reduziert. Dies ist ein Optimierungspunkt, an dem PHP7 die Systemressourcennutzung reduzieren kann.
Ausnahmebehandlung
Viele Vorgänge in PHP5.x führen zu Fehlern, die in PHP7 zu Ausnahmefehlern werden So kann es über try catch
erfasst werden.
Änderungen in HashTable
Es gibt sehr große Änderungen in HashTable
in PHP7. Die Größe der HashTable
-Struktur wurde reduziert von 72 Byte auf 56 Byte, gleichzeitig wird auch die Struktur des Array-Elements Bucket
von 72 Byte auf 32 Byte reduziert.
Executor
verwendet nicht mehr die Methode der Parameterübergabe in PHP7, stattdessen werden execute_data
und opline
über Register übergeben. Der Speicher vermeidet häufige Stapeloperationen, die durch die Übergabe von Parametern verursacht werden. Gleichzeitig wird auf Register schneller zugegriffen als auf den Speicher.
Neue Parameter-Parsing-Methode
PHP5.x PHP7 bietet eine weitere Möglichkeit, Funktionsparameter durch zend_parse_parameters()
zu analysieren. Die ursprüngliche Methode bleibt erhalten. aber die neue Parsing-Methode ist schneller.
Verwandte Empfehlungen:
Einführung in neue Funktionen von PHP7
Einführung in neue Funktionen von PHP7
Das obige ist der detaillierte Inhalt vonZusammenfassung der neuen Funktionen in PHP7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!