Jetzt verfügbar: PHP 7.4

Die neue PHP-Version 7.4 ist ab sofort für alle Kunden verfügbar und bringt eine Menge an neuer Funktionen mit. PHP 7.4 ist zeitgleich auch die letzte Version vor PHP 8, dessen Major-Release für 2021 geplant ist.

Wie auch bei der Veröffentlichung von 7.3 stehen bei der neuen Version die Verbesserung der Performance und noch mehr Leistung im Vordergrund. Des Weiteren wurde auch weiter daran gearbeitet die Lesbarkeit der Codes zu optimieren. Mit 7.4 erreicht uns damit das bisher leistungsstärkste PHP – auch ist es für alle Neukunden als Standard vorab ausgewählt.

Hinsichtlich des neuen Major-Release PHP 8 gibt es auch hier wieder einige neue Deprecated-Features (also Funktionen, welche ab dieser Version als veraltet gekennzeichnet sind und mit dem nächsten Release aus der Bibliothek entfernt werden). Eine Liste der Deprecated-Features findest Du in der PHP-Dokumentation.

Lasst uns nun auf einzelne Highlights von PHP 7.4 blicken.

 

Typed Properties

In der PHP-Kernentwicklergruppe wurde der Vorschlag für die Typed Properties mit einer überragenden Mehrheit angenommen, bei 70 Ja-Stimmen gab es nur eine negative Bewertung. Der Vorschlag ist nicht neu, schon 2016 wurde darüber in der Kernentwicklergruppe diskutiert und abgestimmt – es konnte aber keine Mehrheit erreicht werden. Nun hat es also im zweiten Anlauf geklappt und die Typed Properties haben bei PHP 7.4 ihren Platz gefunden.

Die Typed Properties bieten die Möglichkeit an, bestimmte Typen für die Klassen-Properties zu definieren. Hierzu ein kleines Beispiel aus dem RFC welches die Änderung am Code verdeutlichen soll:

class User {
    /** @var int $id */
    private $id;
    /** @var string $name */
    private $name;
 
    public function __construct(int $id, string $name) {
        $this->id = $id;
        $this->name = $name;
    }
 
    public function getId(): int {
        return $this->id;
    }
    public function setId(int $id): void {
        $this->id = $id;
    }
 
    public function getName(): string {
        return $this->name;
    }
    public function setName(string $name): void {
        $this->name = $name;
    }
}

Dieser Code kann mit den neuen Typed Properties folgendermassen geschrieben werden:

class User {
    public int $id;
    public string $name;
 
    public function __construct(int $id, string $name) {
        $this->id = $id;
        $this->name = $name;
    }
}

Die neu unterstützten Typed Properties sind: bool, int, float, string, array, object, Iterable, Self, Parent, type classes› name, interface name und nullable type.

Mit dem Preloading die Code-Ausführung optimieren

Das neue Preloading löst im Zusammenspiel mit dem OpCache das seit PHP 5.5 bekannte Autoloading ab. Die große Neuerung besteht darin, dass Code-Bestandteile von PHP (wie Klassen oder Interfaces) direkt bei der Ausführung des Programms verfügbar sind und nicht wie bisher «nachgeladen» werden müssen. Für diesen Vorgang wird der OpCache hinzugezogen – dieser wandelt die Quelldateien in sogenannte Opcodes um und speichert diese direkt auf der Festplatte. Somit kann man bereits vor dem ersten Aufruf diverse Klassen im OpCache speichern, diese werden dann direkt aus dem OpCache geladen und müssen nicht zuerst neu interpretiert werden.

Weitere Highlights der neuen Version

Webentwickler, welche auch mit der Programmiersprache C arbeiten, können sich auf das sogenannte Foreign Function Interface (kurz FFI) freuen. Mit dieser Neuerung kann man Bibliotheken laden welche die C-Funktionen aufrufen oder auch auf andere C-Datenstrukturen zurückgreifen. Ab sofort erfolgt also eine direkte Integration der C-Bibliothek in den PHP-Code. Des weiteren wurde viel an einer besseren Lesbarkeit und vereinfachten Programmierung der PHP-Codes gearbeitet wie das Beispiel der Arrow-Functions zeigt. Dank dieser neuen Funktion reduziert sich der Aufwand der Zeilen und Codes massiv. Eine vollständige Übersicht der neuen Funktionen findest Du in der PHP-Dokumentation.

Bei bplaced stehen natürlich mehrere PHP-Versionen zur Verfügung und Du kannst diese jederzeit in unserem Kundenmenü umstellen. Weitere Informationen zu der PHP-Konfiguration gibt es in unserem Wiki.

Zum aktuellen Zeitpunkt ist der ionCube Loader seitens des Herstellers für Version 7.4 noch nicht verfügbar, wird jedoch von uns sobald dieser veröffentlicht wird, umgehend nachgereicht.

Abonnieren
E-Mail senden für
guest
3 Comments
Älteste Kommentare
Neuste Kommentare
Inline Feedbacks
View all comments
Jörg
Jörg
4 years ago

Daumen hoch , weiter so

Pupu16
Pupu16
4 years ago

Gute Sache, absoluter Fan, wenn stark typisiert werden kann! 🙂

trackback

[…] mittlerweile ist hier schon PHP 7.4 […]

3
0
Would love your thoughts, please comment.x