PHP 7-Release:Hauptfunktionen und was Sie wissen müssen
Wenn Sie Entwickler sind, wissen Sie wahrscheinlich, dass die funktionsreiche Betaversion des neuen PHP 7 verfügbar ist. Die Version 7.0.0 enthält viele coole Features und Funktionalitäten. Wir empfehlen Ihnen jedoch, es nicht in einer Produktionsumgebung zu verwenden , bis Sie die stabile Version erhalten, die im November 2015 erwartet wird.
Es steht Ihnen frei, die neueste Betaversion zu testen und damit zu spielen und Fehler zu melden, wenn Sie während des Tests feststellen. Wir listen alle Änderungen/Upgrades auf, die Sie in PHP 7.0.0 sehen werden.
16. Dies ist PHP 7 (nicht 6)
Die aktuelle stabile Version ist PHP 5.6. Daher erwarten viele Entwickler die Version 6.0. Was sie nicht wissen ist, dass PHP 6 bereits in der Vergangenheit als experimentelles Verfahren existierte, aber nie die Produktionsphase erreichte. Das Kernentwicklungsteam beschloss, den Namen PHP 6 für die nächste Hauptversion weiterzugeben.
15. 64-Bit-Windows-Unterstützung
Die aktuelle PHP-Version bietet keine Unterstützung für 64-Bit-Ganzzahlen oder große Dateien. Die Dinge werden sich in Zukunft ändern, da PHP 7 eine konsistente 64-Bit-Unterstützung einführt, was bedeutet, dass sowohl native 64-Bit-Ganzzahlen als auch große Dateien unterstützt werden.
14. Entfernung veralteter Funktionen und Erweiterungen
Eines der Hauptziele von PHP 7 bestand darin, Speicher freizugeben, um Verbesserungen zu ermöglichen. Daher wurde es notwendig, alte, nicht unterstützte Server-APIs, Erweiterungen und veraltete Funktionen zu entfernen.
Alle entnommenen Artikel wurden längere Zeit nicht benutzt. Wenn Sie jedoch eine Legacy-Anwendung haben, die auf älteren Versionen läuft, kann ein Upgrade auf PHP 7 möglicherweise den Code beschädigen.
Lesen Sie:30 Bug-Tracking-Tools für Entwickler
13. Gruppennutzungserklärungen
Dieser RFC wurde erstellt, um die aktuelle PHP-Namespace-Implementierung durch die Einführung des Konzepts der Deklarationsgruppe zu verbessern. Diese Funktion ist für Programmierer nützlich, die normalerweise viele Klassen aus demselben Namespace importieren. Die neue Syntax eliminiert Ausführlichkeit, macht Ihren Code aufgeräumter und spart Ihnen viel Tippzeit.
12. Anonyme Klassen
Das Konzept anonymer Klassen wird bereits in anderen objektorientierten Programmiersprachen wie Java und C# verwendet. Sie sind nichts anderes als eine Klasse ohne Namen, die sowohl die Codierung als auch die Ausführungszeit beschleunigen kann. Sie sollten sie verwenden, wenn eine Klasse nur einmal während der Ausführung verwendet wird und wenn eine Klasse nicht dokumentiert werden muss.
11. Einheitliche Variablensyntax
Durch die einheitliche Variablensyntax werden viele Inkonsistenzen bei der Auswertung von Ausdrücken behoben. Zum Beispiel die Möglichkeit, den Eigenschaften zugewiesenen Abschluss mit ($object->closureProperties)() aufzurufen sowie die Möglichkeit, statische Aufrufe zu verketten.
In älteren PHP-Versionen: $obj->$properties[‘name’] würde auf die Eigenschaft zugreifen, deren Name im Namensschlüssel des Eigenschaftenarrays enthalten ist. Jetzt würde auf den Namensschlüssel der Eigenschaft zugegriffen, deren Name sich in $properties befindet.
10. Unicode-Codepoint-Escape-Syntax
Mit dem neuen Escape-Zeichen (\u) können wir Unicode-Zeichencodepunkte (in Hexadezimalform) innerhalb von Zeichenfolgen eindeutig angeben. Wenn Sie beispielsweise kein Emoji eingeben können, können Sie stattdessen dessen Escape-Sequenz verwenden.
9. Gemeinsame übergeordnete Klasse in der Ausnahmebehandlung
Für PHP-Programmierer war der Umgang mit schwerwiegenden und abfangbaren schwerwiegenden Fehlern noch nie eine leichte Aufgabe. Mit den neuen Engine-Ausnahmen können Sie diese Art von Fehlern durch Ausnahmen ersetzen.
Damit Programmierer sowohl herkömmliche Ausnahmen als auch Engine-Ausnahmen abfangen können, führt PHP 7 eine neue gemeinsam genutzte übergeordnete Klasse mit dem Namen \BaseException ein .
8. Binden Sie den Abschluss bei Anruf
Closure::bind() und Closure->bindTo() ermöglicht es Ihnen, die Bindung von $this zu ändern und der aufrufende Bereich, einzeln oder zusammen, wodurch ein doppelter Abschluss entsteht. In PHP 7 gibt es eine einfache Möglichkeit, dies zum Zeitpunkt des Aufrufs zu tun, indem beide $this gebunden werden und Aufrufen des Bereichs für dasselbe Objekt mit dem Zusatz Closure->call(). Die Methode verwendet das Objekt als erstes Argument, gefolgt von einem beliebigen Argument, das an den Abschluss übergeben werden soll.
7. Null-Coalesce-Operator
Der Coalesce-Operator wird mit „??“ bezeichnet. Es gibt das Ergebnis seines ersten Operanden zurück, wenn dieser existiert und nicht NULL ist, andernfalls gibt er den zweiten Operanden zurück. Das bedeutet, dass die Verwendung von „coalesce“ völlig sicher ist, da dadurch kein E_NOTICE ausgelöst wird, selbst wenn der Wert nicht vorhanden ist.
6. Kombinierter Vergleichsoperator
Der kombinierte Vergleichsoperator (auch als Raumschiffoperator bekannt) ähnelt version_compare() oder strcmp() im Verhalten, kann aber in allen generischen PHP-Werten verwendet werden. Es existiert bereits in den Programmiersprachen Ruby und Perl.
Der Operator gibt -1 zurück, wenn der linke Operand größer ist, 0, wenn beide gleich sind, und 1, wenn der linke Operand größer ist.
5. Generator-Rückgabeausdruck und Generatordelegation
Mit dem Generator-Rückgabeausdruck können Sie nach erfolgreichem Abschluss eines Generators einen Wert zurückgeben. In PHP 7 können Sie $generator->getReturn() aufrufen um den Rückgabewert abzurufen. Wenn der Generator noch nicht zurückgegeben oder eine nicht abgefangene Ausnahme ausgelöst hat, $generator->getReturn() wird eine Ausnahme auslösen. Falls der Generator abgeschlossen ist, aber keine Rückgabe erfolgte, wird NULL zurückgegeben.
Mit der Funktion „Generatordelegierung“ können Sie eine andere iterierbare Struktur zurückgeben, die selbst durchlaufen werden kann, unabhängig davon, ob es sich um einen Iterator, ein Array oder einen anderen Generator handelt. Die Iteration der Unterstruktur erfolgt durch die äußerste Originalschleife und nicht durch eine rekursive.
4. Rückgabetypdeklarationen
Viele Programmierer möchten den Rückgabetyp einer Funktion deklarieren. Es hilft zu verhindern, dass unbeabsichtigte Rückgabewerte und Untertypen den erwarteten Rückgabetyp des Supertyps zerstören, insbesondere in Schnittstellen. Darüber hinaus verfügt PHP 7 über vier neue Typverzögerungen für Skalartypen – String, Int, Float und Bool. Mit diesen neuen Typen können Programmierer angeben, dass sie die Rückgabe von Ganzzahlen, Gleitkommazahlen, Zeichenfolgen und booleschen Werten erwarten.
Im obigen Bild soll die Funktion foo in einem Array zurückkehren. Schauen Sie sich einige komplexe Beispiele an.
3. Abstrakter Syntaxbaum
Die größte und unsichtbarste Änderung ist die Hinzufügung eines abstrakten Syntaxbaums – einer Zwischendarstellung des Codes während der Kompilierung. Es ersetzt die bestehende Praxis, Opcodes direkt vom Parser auszugeben. Dadurch können wir eine Reihe von Hacks entfernen und die Implementierung verständlicher und wartbarer machen. Außerdem können Sie eine Syntax implementieren, die mit dem Single-Pass-Kompilierungsprozess nicht möglich war.
2. Die brandneue Zend Engine
Die erste Zend Engine wurde 1999 in PHP 4 eingeführt. Es handelt sich um eine Open-Source-Skript-Engine (in C geschrieben), die PHP interpretiert. Die aktuelle PHP-Version nutzt Zend Engine II, die Speicher- und Ressourcenverwaltung bietet und der Sprache ein erweiterbares Objektmodell und eine deutliche Leistungssteigerung hinzufügt.
Die neue Zend Engine III, ursprünglich mit dem Codenamen phpng, befindet sich in der Entwicklung für PHP 7.
1. Leistung + Speicherersparnis
Der Hauptgrund für ein Upgrade auf PHP 7 ist die Leistung. Dies ist eine gute Nachricht, insbesondere für kleinere Hoster, da diese mehr Kunden auf derselben Hardware hosten können. Die Leistung der 7. Version entspricht der von Facebook HHVM, das über einen JIT-Compiler (Just-in-Time) verfügt, der die Kompilierung zur Laufzeit und nicht vor der Ausführung ermöglicht. Durch die Optimierung interner Datenstrukturen wird außerdem erheblich Speicherplatz eingespart.
Empfohlen:30 erstaunliche PHP-Bibliotheken für Programmierer und Entwickler
Wie Sie in der von Zend veröffentlichten Grafik sehen können, werden WordPress-Anfragen auf PHP 5.6 mit weniger als 100 Millionen CPU-Anweisungen ausgeführt, während PHP 7 nur 25 Millionen ausführt, um die gleiche Aufgabe zu erledigen. Darüber hinaus zeigen Tests, dass Sie drei Magento-Transaktionen auf derselben Hardware ausführen können und Drupal 8 mit PHP 7 72 % schneller läuft.
Industrietechnik
- Thomas-Index-Bericht:Benutzerdefinierter Spritzguss
- Wie funktioniert das Elektronenstrahlschweißen? Vorteile &Anwendungen
- Einseitige vs. doppelseitige vs. Multilayer-Leiterplatten
- Blockierende Oszillatoren:Eine Einführung in ihre Funktionsweise, Typen und Verwendungen
- Warum interaktive Grundrisse großartig für Facility Manager sind!
- Gummi- oder Polyurethandichtungen:Welches Material sollten Sie wählen?
- Farady-Taschenlampe:Alles, was Sie wissen müssen
- Polyurethan-Abriebfestigkeit
- Was ist automatisierte optische Inspektion?
- Fragen Sie den Experten:Technologien für die intelligente Produktion