Heim > Schlagzeilen > PHP 8 ist da! Das PHP-Team veröffentlicht die erste Beta-Version Alpha1

PHP 8 ist da! Das PHP-Team veröffentlicht die erste Beta-Version Alpha1

PHPz
Freigeben: 2020-06-28 15:37:13
Original
7830 Leute haben es durchsucht

Wann wird PHP8 veröffentlicht? PHP-Entwickler freuen sich sehr darauf. Am 25. Juni 2020 veröffentlichte das PHP-Team die erste Testversion Alpha1 (PHP 8.0.0), die den offiziellen Start des PHP8-Release-Zyklus einläutet!

PHP 8 ist da! Das PHP-Team veröffentlicht die erste Beta-Version Alpha1

Die offizielle Ankündigung der ersten Version von PHP 8.0.0 lautet wie folgt:

PHP 8 ist da! Das PHP-Team veröffentlicht die erste Beta-Version Alpha1

PHP 8 Alpha-Version veröffentlicht, Download-Adresse:

https://www.php.net/archive/2020.php

PHP 8.0.0 Highlights :

PHP 8 ist eine neue Hauptversion, die einige wichtige Änderungen sowie viele neue Funktionen und Leistungsverbesserungen einführt:

  • JIT, Just-In-Time, Just-in-Time-Kompilierung

Die Funktion, die allen am meisten am Herzen liegt, ist JIT. Diese Funktion befindet sich seit vielen Jahren in der Entwicklung und hat die Hauptversionsreihe von PHP 5 und 7 überlebt (das PHP 6-Projekt wurde erst im März letzten Jahres abgebrochen, als durch eine Abstimmung endgültig bestätigt wurde, dass sie in PHP 8 integriert werden würde). .

JIT ist eine Compiler-Strategie (Referenzartikel: Was ist PHP JIT? PHP8 neue Feature-JIT-Grafik und Texterklärung ), die den Code als Zwischenzustand ausdrückt, der beim Ausführen ausgeführt wird Es wird in architekturabhängigen Maschinencode umgewandelt und im laufenden Betrieb ausgeführt. In PHP bedeutet dies, dass die JIT von Zend VM generierte Anweisungen als Zwischendarstellungen behandelt und sie in architekturabhängigem Maschinencode ausführt, was bedeutet, dass nicht mehr Zend VM den Code hostet, sondern die zugrunde liegende CPU.

Obwohl die PHP-Leistung seit PHP 7.0 durch die Optimierung der Kerndatenstruktur HashTable, die Stärkung bestimmter Opcodes in Zend VM und die kontinuierliche Verbesserung der Optimizer-Komponente von OPCache erheblich verbessert wurde, scheinen diese Optimierungen tatsächlich ihr Ziel erreicht zu haben Limit. Jetzt beginnt JIT ganz unten und gilt als die beste Möglichkeit, die PHP-Leistung zu verbessern.

Für den Leistungsvergleich nach der Einführung von JIT (und die Gesamtleistung von PHP 8) können Sie sich auf den Phoronix-Benchmark-Test dieses Monats beziehen (Hinweis: Der Test wurde am Ende mit der Quellcode-Build-Version durchgeführt Mai).

  • Union-Typen, Union-Typen

Unterstützung für Union-Typen Empfängt mehrere Werte unterschiedlichen Typs. Es handelt sich um eine Sammlung von zwei oder mehr Typen. Bei der Verwendung können Sie einen auswählen. Die Verwendung von Union-Typen ist in Standardbibliotheken im Open-Source-Ökosystem sehr verbreitet, einschließlich der PHP-Unterstützung für Union-Typen, die die Migration von mehr Typinformationen von phpdoc in Funktionssignaturen ermöglicht. Man kann sagen, dass Union-Typen nach Generika den größten Durchbruch im aktuellen Typdeklarationssystem darstellen.

  • Attribute, Anmerkung

Die Attribute hier sind das Anmerkungen in anderen Sprachen bieten eine Möglichkeit, einer Klasse Metadaten hinzuzufügen, ohne den Dokumentationsblock zu analysieren.

Mehr erfahren: Neue PHP8-Funktionen: Attribute

  • Neue statische Rückgabe type

Obwohl es möglich ist, self zurückzugeben, ist es angesichts der Natur des dynamischen Typs von PHP effizienter, statische Rückgabetypen in PHP zu unterstützen 8. Sollte für viele Entwickler sehr nützlich sein.

  • WeakMap, WeakMaps

WeakMaps ermöglichen die Erstellung aus Mapping von Objekten auf beliebige Werte (ähnlich wie SplObjectStorage), ohne die Garbage Collection des als Schlüssel verwendeten Objekts zu verhindern. Solange das Objekt zur WeakMap hinzugefügt wird, kann der GC den von ihm belegten Speicher zurückfordern, wenn die Bedingung ausgelöst wird.

In PHP 7.4 wurde tatsächlich Unterstützung für WeakReference eingeführt. Rohe schwache Referenzen allein haben jedoch nur begrenzten Nutzen und schwache Zuordnungen werden in der Praxis häufiger verwendet. Da keine Funktionalität zum Registrieren von Zerstörungsrückrufen bereitgestellt wird, ist es nicht möglich, effiziente schwache Zuordnungen zusätzlich zu schwachen PHP-Referenzen zu implementieren. Ein allgemeiner Anwendungsfall für schwaches Mapping besteht darin, Daten einzelnen Objektinstanzen zuzuordnen, ohne sie zu zwingen, aktiv zu bleiben, wodurch vermieden wird, dass lang laufende Prozesse unnötig Speicher belegen.

Bezüglich WeakMap/WeakReference können Sie auf den WeakRef-Teil dieses Artikels verweisen. Obwohl es um JS geht, sind die Prinzipien dieselben:

https :/ /www.html.cn/web/javascript/19449.html

Weitere verwandte Funktionen finden Sie unter:

Darüber hinaus sind mir auch mehrere Funktionen aufgefallen, die sich in der Abstimmungsphase befinden (d. h. sie könnten bald in eine bestimmte Version integriert werden), wie z. B. Match-Ausdruck (Match-Ausdruck) und die Verwendung von @ @ oder #[] anstelle von < ;>s Vorschläge verdienen Aufmerksamkeit:

PHP 8 ist da! Das PHP-Team veröffentlicht die erste Beta-Version Alpha1

Es sollte beachtet werden, dass es sich bei PHP 8 um eine große Update-Version mit einigen größeren Änderungen handelt, daher ist es am besten, die UPGRADING-Dokumentation auf verwandte Themen zu prüfen. In Wirklichkeit wurden viele dieser bahnbrechenden Änderungen jedoch bereits in früheren 7.*-Versionen eingeführt. Wenn Sie also auf dem neuesten Stand sind, wird ein Upgrade auf PHP 8 keine großen Auswirkungen haben.

UPGRADING 文档

Zusammenfassung

Der Erfolg von PHP 8 ist das zweite JAVA, und eine große Anzahl von Entwicklern aus anderen Sprachen wird in das PHP-Lager zurückkehren! Es geht schließlich schnell und einfach! Freuen wir uns gemeinsam darauf!

[Verwandte Empfehlungen]

Entwicklungsverlauf der PHP-Version (1995-2020)

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage