Technik

PHP 8.4 ist verfügbar

Heute wurde die neue PHP-Version 8.4 veröffentlicht. Wir haben diese PHP-Version bereits auf allen Webservern installiert, so dass Sie sie ab jetzt für Ihre Web-Anwendungen verwenden können.

Neuerungen und Verbesserungen

Für viele Anwender:innen zählt vor allem eines: schnellere Ladezeiten durch eine verbesserte Ausführungsgeschwindigkeit. In ersten Tests konnten wir jedoch keine signifikanten Performance-Unterschiede zwischen PHP 8.4 und der Vorgängerversion 8.3 feststellen. Dennoch sind in spezifischen Szenarien spürbare Verbesserungen durchaus möglich.

Eine nützliche Neuerung in PHP 8.4 sind Propery Hooks, dadurch lässt sich redundanter Boilerplate-Code für Get()- und Set()-Methoden reduzieren. Bei folgender Beispielklasse ohne Property Hooks müssen Get()- und Set()-Methoden definiert werden:

class User 
{
    private $name;
 
    public function __construct(string $name) {
        $this->name = $name;
    }
 
    public function getName(): string {
        return $this->name;
    }
 
    public function setName(string $name): void {
         if (strlen($value) === 0) {
                throw new ValueError("Name must be non-empty");
        }
        $this->name = $name;
    }
}

Mit Property Hooks lässt die Klasse wie folgt vereinfachen:

class User 
{
    public string $name {
        set {
            if (strlen($value) === 0) {
                throw new ValueError("Name must be non-empty");
            }
            $this->name = $value;
        }
    }
 
    public function __construct(private string $name) {
        $this->name = $name;
    }
}

Für Arrays gibt es nun 4 zusätzliche Callback-Funktionen array_find(), array_find_key(), array_any() und array_all(). Zur Nutzung dieser Funktionen beachten Sie die folgenden Beispiele:

$array = [
    'a' => 'dog',
    'b' => 'cat',
    'c' => 'cow',
    'd' => 'duck',
    'e' => 'goose',
    'f' => 'elephant'
];
 
// Find the first animal with a name longer than 4 characters.
var_dump(array_find($array, function (string $value) {
    return strlen($value) > 4;
})); // string(5) "goose"

// Find the first animal with a name longer than 4 characters.
var_dump(array_find_key($array, function (string $value) {
    return strlen($value) > 4;
})); // string(1) "e"

// Check, if any animal name is longer than 5 letters.
var_dump(array_any($array, function (string $value) {
    return strlen($value) > 5;
})); // bool(true)

// Check, if all animal names are shorter than 12 letters.
var_dump(array_all($array, function (string $value) {
    return strlen($value) < 12;
})); // bool(true)

Eine weitere Neuerung ist die Unterstützung von HTML5 in der DOM Extension, außerdem wurden in der XML Extension Probleme bei der Verarbeitung großer XML-Dateien behoben.

Entfernung veralteter Extensions

Die veralteten PHP-Extensions IMAP und Pspell wurden in PHP 8.4 entfernt, da die Extensions selbst sowie die zugrundeliegenden Softwarebibliotheken veraltet sind und seit Jahren nicht mehr aktualisiert wurden. Als Alternative zu Pspell kann die Extension Enchant genutzt werden.

Da es in PHP 8.4 kaum schwerwiegende nicht abwärtskompatible Änderungen zur Vorgängerversion 8.3 gibt, sind viele Web-Anwendungen bereits mit PHP 8.4 kompatibel.

Auf der PHP-Webseite finden sie eine vollständige Übersicht über alle nicht abwärtskompatiblen Änderungen und Neuerungen.

PHP 8.4 aktivieren

Sie können PHP 8.4 wie gewohnt über das Kundenmenü oder auf den Webservern per .htaccess-Konfigurationsdatei mittels folgender Direktive auswählen:

AddHandler application/x-httpd-php84 .php

Verlängerung der Sicherheitsunsterstützung

Die PHP-Entwickler haben die Phase der Sicherheitsunsterstützung für ältere PHP-Versionen um ein Jahr auf nun insgesamt zwei Jahre verlängert. Damit wird die PHP-Version 8.1 noch bis zum 31.12.2025 mit Sicherheitsupdates versorgt.
Die PHP-Version 8.2 wechselt ab dem 1.1.2025 in die Phase der Sicherheitsunsterstützung. Ab dann wird es für diese PHP-Version nur noch Updates bei sicherheitskritischen Fehlern geben, andere nicht sicherheitskritische Fehler werden nicht mehr behoben.
Eine Übersicht der Unterstützungsphasen aller PHP-Versionen finden Sie auf der PHP-Webseite.

admin

Share
Published by
admin
Tags: php

Recent Posts

Echtzeit-Zugriff auf Webserver-Logdateien

Wir freuen uns, Ihnen ein praktisches neues Feature vorstellen zu können: Ab sofort können Sie…

5 Tagen ago

Start der neuen TLDs .free, .hot und .spot am 19.05.2025

Ab dem 19.05.2025 sind die drei neuen Top-Level-Domains .free, .hot und .spot frei registrierbar. Inhaber:innen…

2 Monaten ago

Abschaltung der unverschlüsselten Nutzung unserer Mailserver zum 05. März 2025

Ab dem 05. März 2025 werden wir keine unverschlüsselten Verbindungen und keine Verbindungen mit den…

5 Monaten ago

Neue Domainpreise ab dem 01.01.2025

Aufgrund geänderter Einkaufspreise durch die Registrierungsstellen müssen wir die Preise von rund 200 unserer Top-Level-Domains…

5 Monaten ago

Die besten neuen TLDs des Jahres 2024

Auch in diesem Jahr haben zahlreiche neue Top-Level-Domains das Internet bereichert. Wir freuen uns, dass…

5 Monaten ago

PHP 8.4 RC1 zum Testen verfügbar

Auf unseren Webservern steht ab heute der erste Release Candidate der kommenden PHP Version 8.4…

8 Monaten ago