Was ist neu in PHP 7.4?

PHP 7.4 wurde am 28.11.2019 veröffentlicht und mehr und mehr Webhoster bieten es nun als PHP-Version an. In diesem Artikel betrachte ich die Neuerungen.

Sollte man auf PHP 7.4 wechseln?

Auf PHP.net findet ihre die offizielle Information, wie lange die unterschiedlichen PHP-Versionen noch unterstützt werden. PHP 7.2 wird bereits nicht mehr aktiv entwickelt und Security-Updates gibt es nur noch bis Ende November 2020. Ein Upgrade auf PHP 7.3 oder 7.4 lohnt sich deshalb.

PHP 7.4. - Benchmark

PHP 7.4 ist  im vergleich zu den vorherigen Versionen erneut etwas schneller geworden:

 

Der Unterschied zu PHP 7.3. ist allerdings nicht so groß, dass ein Upgrade zwingen notwendig ist. Aus Performance-Gründen muss man also nicht unbedingt auf PHP 7.4 aktualisieren.

PHP 7.4 - Neue Funktionen

PHP 7.4 bietet eine Reihe neue Funktionen, die das Programmieren vereinfachen sollen. Hier meine persönlichen Favoriten.

Arrow Functions

Ähnlich wie in JavaScript können in PHP nun arrow functions definiert werden. Angenommen ihr möchtet jedes Array-Element mit 100 addieren, so vereinfacht sich der Code dank Arrow-Function wie folgt:

Weitere Details

Spread-Operator

Erneut ähnlich wie in JavaScript könnt ihr nun '...' nutzen um aus Argumenten ein Array zu machen.

Weitere Details

Typisierte Klassen-Eigenschaften.

In PHP 7.4 können Klassen-Eigenschaften (Klassen-Variablen) nun mit einem Typ versehen werden:

Weitere Details.

 

Null Coalescing Assignment Operator

In PHP 7 wurde der ?? Operator eingeführt, der einen Alternativwert zuweist, falls der Ausdruck davor nicht definiert ist.

Zum Beispiel:

Ist hier $someArray['key'] nicht definiert, so wird diesem Eintrag den Wert 'Value' zugewiesen

 

In PHP 7.4 kann der Ausdruck nun wie folgt verkürzt werden:

Weitere Details

 

PHP Preloading

In PHP 7.4 wurde sogenanntes Pre-Loading eingeführt. Damit lassen sich Klassenbibliotheken und Frameworks in den Cache von OPcache vorladen und stehen der Anwendung somit deutlich schneller zur Verfügung. Habt ihr beispielsweise eine Anwendung auf Laravel-basis, könntet ihr das Laravel-Framework vorladen lassen. Bei den Aufrufen eurer Scripts müsste dieses nicht jedes mal geladen werden, sondern stände dauerhaft im OPcache zur Verfügung.

Ein Nachteil hat dieses Preloading aber auch: Änderungen am Framework stehen erst nach einem Neustart von PHP bereit.

Weitere Details findet ihr im RFC und auf dieser Seite.

 

Quellen

Autor:
Zurück zur Übersicht aller Beiträge