Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der neuen Funktionen in PHP7

Zusammenfassung der neuen Funktionen in PHP7

不言
不言Original
2018-08-29 10:41:412512Durchsuche

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!

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