Was ist neu in PHP 7.4? Top 10 Funktionen, die Sie kennen müssen

In nur 7 Tagen wird PHP 7.4 veröffentlicht. Mit neuen Updates wird eine geringere Speichernutzung und eine deutliche Leistungssteigerung erreicht. Werfen Sie einen Blick auf die 10 wichtigsten Funktionen von PHP 7.4 in diesem Artikel!

PHP7.4

PHP7.4

Warum sind einige Programmiersprachen so beliebt, während andere selten für die Projektentwicklung verwendet werden und manchmal sogar in Vergessenheit geraten? Dafür gibt es viele Gründe. Die Einfachheit der Syntax, der Funktionalität, des Entwicklungsnetzwerks und des Community-Supports wirken sich auf die Nachfrage nach jeder Technologie aus.

Da sich die IT-Welt ständig weiterentwickelt, müssen Codierungstechnologien mit der sich ändernden Umgebung Schritt halten, indem sie neue Funktionen, Updates und Verbesserungen bereitstellen. Dies ist eines der wichtigsten Elemente des Spracherfolgs.

In unserem Unternehmen genieße ich PHP aufgrund der häufigen Verbesserungen, die jedes Jahr durchgeführt werden, und glaube, dass es für viele Jahre populär sein wird. Seit der Veröffentlichung von PHP 5 im Jahr 2004 hat sich die Leistung verdoppelt und vielleicht sogar verdreifacht. Dies ist einer der Gründe, warum wir PHP in unserer Softwareentwicklungsfirma einsetzen.

Kein Wunder, dass PHP laut StackOverflow Developer Survey 2019 zum zweiten Mal in Folge zu den Top 10 der beliebtesten Programmiersprachen gehört. In diesem Jahr belegte es den 8. Platz, was einen Rang höher ist als im Vorjahr.

In nur 7 Tagen, am Donnerstag, den 28.November, werden wir die neue Version von PHP sehen — PHP 7.4, die zu einer der funktionsreichsten Versionen aller Zeiten werden wird. In diesem Artikel werde ich die aktualisierte Funktionsübersicht von PHP 7.4 auflisten und behandeln. Lass uns anfangen!

Unterstützung von Pfeilfunktionen

Da anonyme Funktionen oder Closures hauptsächlich in JS angewendet werden, scheinen sie in PHP ausführlich zu sein. Ihre Implementierungs- und Wartungsverfahren sind ebenfalls komplexer.

Die Einführung der Unterstützung von Pfeilfunktionen wird es PHP-Entwicklern ermöglichen, ihren Code drastisch zu bereinigen und die Syntax prägnanter zu gestalten. Als Ergebnis erhalten Sie ein höheres Maß an Lesbarkeit und Einfachheit des Codes. Schauen Sie sich das folgende Beispiel an.

Wenn Sie also diesen Code zuvor schreiben mussten:

function cube($n){return ($n * $n * $n);}$a = ;$b = array_map('cube', $a);print_r($b);

Mit PHP 7.4 können Sie ihn auf folgende Weise umschreiben:

$a = ;$b = array_map(fn($n) => $n * $n * $n, $a);print_r($b);

Dank der Möglichkeit, sauberen, kürzeren Code zu erstellen, wird der Webentwicklungsprozess schneller, sodass Sie Zeit sparen können.

Unterstützung typisierter Eigenschaften

Die Einführung typisierter Eigenschaften in der nächsten Version wird wahrscheinlich als eine der wichtigsten aktualisierten PHP-Funktionen angesehen. Während es früher keine Möglichkeit gab, Deklarationsmethoden für Klassenvariablen und -eigenschaften (einschließlich statischer Eigenschaften) zu verwenden, können Programmierer sie jetzt problemlos codieren, ohne bestimmte Getter- und Setter-Methoden zu erstellen.

Aufgrund von Deklarationstypen (mit Ausnahme von void und callable ) können Sie nullable-Typen, int , float , array, string, object , iterable, self , bool und parent .

Wenn ein Webentwickler versucht, einen irrelevanten Wert aus dem Typ zuzuweisen, z. B. $name als string deklariert, erhält er eine TypeError-Nachricht.

Wie Pfeilfunktionen ermöglichen typisierte Eigenschaften auch PHP-Ingenieuren, ihren Code kürzer und sauberer zu machen

Preloading

Der Hauptzweck dieser coolen neuen Funktion besteht darin, die Leistung von PHP 7.4 zu erhöhen. Einfach gesagt, Preloading ist der Prozess des Ladens von Dateien, Frameworks und Bibliotheken in OPcache und ist definitiv eine großartige Ergänzung für die neue Version. Wenn Sie beispielsweise ein Framework verwenden, mussten seine Dateien für jede Anforderung heruntergeladen und neu kompiliert werden.

Wenn Sie OPcache konfigurieren, nehmen diese Codedateien zum ersten Mal an der Anforderungsverarbeitung teil und werden dann jedes Mal auf Änderungen überprüft. Durch das Vorladen kann der Server die angegebenen Codedateien in den gemeinsam genutzten Speicher laden. Es ist wichtig zu beachten, dass sie für alle nachfolgenden Anforderungen ohne zusätzliche Überprüfungen auf Dateiänderungen ständig verfügbar sind.

Es ist auch bemerkenswert zu erwähnen, dass PHP während des Vorladens auch unnötige Includes eliminiert und Klassenabhängigkeiten und Links mit Merkmalen, Schnittstellen und mehr auflöst.

Covariant returns & contravariant parameters

Im Moment hat PHP hauptsächlich invariante Parametertypen und invariante Rückgabetypen, die einige Einschränkungen darstellen. Mit der Einführung von kovarianten (Typen werden von spezifischer zu generischer geordnet) und kontravarianten (Typen werden von generischer zu spezifischer geordnet) Parametern können PHP-Entwickler den Typ des Parameters in einen seiner Supertypen ändern. Der zurückgegebene Typ kann wiederum leicht durch seinen Subtyp ersetzt werden.

Schwache Referenzen

In PHP 7.4 ermöglicht die WeakReference-Klasse Webentwicklern, einen Link zu einem Objekt zu speichern, das seine Zerstörung nicht verhindert. Verwechseln Sie es nicht mit der WeakRef-Klasse der Weakref-Erweiterung. Aufgrund dieser Funktion können sie Cache-ähnliche Strukturen einfacher implementieren.

Siehe das Beispiel für die Verwendung dieser Klasse:

<?php$obj = new stdClass;$weakref = WeakReference::create($obj);var_dump($weakref->get());unset($obj);var_dump($weakref->get());?>

Beachten Sie auch, dass Sie schwache Referenzen nicht serialisieren können.

Koaleszenzoperator zuweisen

Ein Koaleszenzoperator ist eine weitere neue Funktion, die in PHP 7.4 verfügbar ist. Es ist sehr hilfreich, wenn Sie einen ternären Operator zusammen mit isset() . Dadurch können Sie den ersten Operanden zurückgeben, wenn er existiert und nicht NULL ist. Wenn nicht, wird nur der zweite Operand zurückgegeben.

Hier ein Beispiel:

<?php// Fetches the value of $_GET and returns 'nobody'// if it does not exist.$username = $_GET ?? 'nobody';// This is equivalent to:$username = isset($_GET) ? $_GET : 'nobody';// Coalescing can be chained: this will return the first// defined value out of $_GET, $_POST, and// 'nobody'.$username = $_GET ?? $_POST ?? 'nobody';?>

Ein Spread-Operator im Array-Ausdruck

PHP 7.4 gibt Ingenieuren die Möglichkeit, Spread-Operatoren in Arrays zu verwenden, die im Vergleich zu array_merge schneller sind. Dafür gibt es zwei Hauptgründe. Erstens wird ein Spread-Operator als Sprachstruktur betrachtet und array_merge ist eine Funktion. Der zweite Grund ist, dass Ihre Kompilierungszeit jetzt für konstante Arrays optimiert werden kann. Infolgedessen haben Sie die Leistung von PHP 7.4 erhöht.

Sehen Sie sich das Beispiel des Entpackens von Argumenten im Array-Ausdruck an:

$parts = ;$fruits = ;var_dump($fruits);

Außerdem ist es möglich, dasselbe Array mehrmals zu erweitern. Da normale Elemente vor oder nach dem Spread-Operator hinzugefügt werden können, können PHP-Entwickler die Syntax im Array verwenden.

Ein neuer benutzerdefinierter Objektserialisierungsmechanismus

In der neuen PHP-Version stehen zwei neue Methoden zur Verfügung: __serialize und __unserialize. Durch die Kombination der Vielseitigkeit der serialisierbaren Schnittstelle mit dem Ansatz der Implementierung von __sleep / __ wakeup-Methoden ermöglicht dieser Serialisierungsmechanismus PHP-Entwicklern, Anpassungsprobleme im Zusammenhang mit den vorhandenen Methoden zu vermeiden. Erfahren Sie mehr über diese PHP-Funktion.

Reflektion für Referenzen

Bibliotheken wie symfony/var-dumper verlassen sich stark auf ReflectionAPI, um Variablen genau anzuzeigen. Zuvor gab es keine ordnungsgemäße Unterstützung für die Referenzreflexion, was diese Bibliotheken zwang, sich auf Hacks zu verlassen, um Referenzen zu erkennen. PHP 7.4 fügt die ReflectionReference Klasse hinzu, die dieses Problem löst.

Unterstützung für das Auslösen von Ausnahmen von __toString()

Bisher gab es keine Möglichkeit, Ausnahmen von der __toString-Methode auszulösen. Der Grund dafür ist, dass die Konvertierung von Objekten in Zeichenfolgen in vielen Funktionen der Standardbibliothek ausgeführt wird und nicht alle bereit sind, Ausnahmen korrekt zu „verarbeiten“. Im Rahmen dieses RFC wurde eine umfassende Prüfung der String-Konvertierungen in der Codebasis durchgeführt und diese Einschränkung aufgehoben.

Abschließende Gedanken

In nur einer Woche wird PHP 7.4 veröffentlicht. Es gibt viele neue PHP-Funktionen, die die Speichernutzung reduzieren und die Leistung von PHP 7.4 erheblich steigern. Sie erhalten die Möglichkeit, einige frühere Einschränkungen dieser Programmiersprache zu vermeiden, saubereren Code zu schreiben und Weblösungen schneller zu erstellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.