PHP 8.4

Was ist neu in PHP 8.4?

vg

PHP 8.4, das neueste Update der populären serverseitigen Programmiersprache, bietet eine Reihe von spannenden Neuerungen und Verbesserungen, die die Entwicklung von Webanwendungen weiter vorantreiben. Mit einem Fokus auf Leistung, Flexibilität und eine benutzerfreundlichere Syntax, liefert PHP 8.4 sowohl für erfahrene Entwickler als auch für Einsteiger bedeutende Vorteile. Die Version baut auf den Innovationen der vorherigen PHP-Versionen auf und fügt eine Vielzahl praktischer Features hinzu, die die Codequalität verbessern und die Effizienz bei der Entwicklung steigern.

PHP 8.4 bringt neue Möglichkeiten zur Handhabung von Datenstrukturen, wie zum Beispiel erweiterte Array-Funktionen, die das Arbeiten mit großen und komplexen Datensätzen vereinfachen. Es wird auch eine Reihe von Verbesserungen bei der Handhabung von Zeichenketten und der Unterstützung moderner Webstandards wie HTML5 vorgenommen. Auch die Performance wird durch zahlreiche Optimierungen am JIT-Compiler und an der Mbstring-Erweiterung weiter gesteigert.

Mit der Einführung von Property Hooks und asymmetrischer Sichtbarkeit bietet PHP 8.4 zudem neue Werkzeuge, um den Code lesbarer und wartungsfreundlicher zu gestalten. Diese Änderungen zielen darauf ab, Entwicklern mehr Kontrolle und Flexibilität beim Schreiben von Klassen und Objekten zu geben.

Insgesamt stellt PHP 8.4 eine bedeutende Weiterentwicklung der Sprache dar, die eine effizientere und intuitivere Programmierung ermöglicht, ohne auf Komplexität zu verzichten.

1. Property Hooks

Property Hooks ermöglichen es, Getter- und Setter-Methoden direkt innerhalb der Property-Deklaration zu definieren. Dies reduziert Boilerplate-Code und verbessert die Lesbarkeit. Ein Beispiel:

class User
{
    private string $first;
    private string $last;

    public function __construct(
        private string $first,
        private string $last
    ) {}

    public string $fullName {
        // Getter
        get => $this->first . " " . $this->last;

        // Setter
        set {
            [$this->first, $this->last] = explode(' ', $value, 2);
        }
    }
}

In diesem Beispiel wird die fullName-Property mit einem Getter und Setter versehen, die direkt in der Property-Deklaration definiert sind. citeturn0search5

2. Asymmetrische Sichtbarkeit

Mit asymmetrischer Sichtbarkeit können Getter- und Setter-Methoden unterschiedliche Sichtbarkeiten haben. Dies ermöglicht eine feinere Kontrolle über den Zugriff auf Klassenmitglieder. Beispiel:

class User
{
    private string $first;
    private string $last;

    public function __construct(
        private string $first,
        private string $last
    ) {}

    public string $fullName {
        // Getter
        public get => $this->first . " " . $this->last;

        // Setter
        private set {
            [$this->first, $this->last] = explode(' ', $value, 2);
        }
    }
}

Hier ist der Getter öffentlich zugänglich, während der Setter privat bleibt. citeturn0search5

3. Neue Array-Funktionen

PHP 8.4 führt neue Funktionen zur Array-Verarbeitung ein:

  • array_find(): Findet das erste Element, das eine bestimmte Bedingung erfüllt.
  • array_find_key(): Gibt den Schlüssel des ersten übereinstimmenden Elements zurück.
  • array_any(): Überprüft, ob mindestens ein Element eine Bedingung erfüllt.
  • array_all(): Überprüft, ob alle Elemente eine Bedingung erfüllen.

Diese Funktionen vereinfachen häufige Array-Operationen und verbessern die Lesbarkeit des Codes. citeturn0search3

4. Instanziierung ohne zusätzliche Klammern

PHP 8.4 ermöglicht es, Methoden direkt auf neu instanziierten Objekten aufzurufen, ohne zusätzliche Klammern zu verwenden:

new MyClass()->myMethod();

Dies führt zu einer klareren und kompakteren Syntax. citeturn0search5

5. Unterstützung für HTML5

Die neue Klasse DOM\HTMLDocument basiert auf der modernen Lexbor-Bibliothek und unterstützt nativ HTML5-Dokumente. Dies verbessert die Verarbeitung von HTML5-Inhalten in PHP. citeturn0search4

6. Neue Funktionen in der Mbstring-Erweiterung

Die Mbstring-Erweiterung wurde um die Funktionen mb_trim(), mb_ltrim() und mb_rtrim() erweitert, die die Zeichenkettenmanipulation in multibyte-kodierten Zeichenketten erleichtern. citeturn0search0

7. Verbesserungen im Just-in-Time (JIT) Compiler

Der JIT-Compiler wurde weiter optimiert, was die Leistung von PHP-Anwendungen steigert, insbesondere in rechenintensiven Anwendungen. citeturn0search4

8. Weitere Änderungen und Deprecations

  • Die exit/die-Konstrukte wurden von Sprachkonstrukten zu Funktionen geändert, was die Konsistenz im Code erhöht.
  • Die Mindestversionen für OpenSSL wurden auf 1.1.1 und für libcurl auf 7.61.0 erhöht, was die Sicherheit und Kompatibilität verbessert.

Fazit

PHP 8.4 bringt eine Reihe von durchdachten Verbesserungen und neuen Funktionen, die Entwicklern dabei helfen, Code effizienter, lesbarer und flexibler zu schreiben. Zu den herausragenden Features gehören die Einführung von Property Hooks, die das Definieren von Getter- und Setter-Methoden direkt in der Property-Deklaration ermöglichen, sowie asymmetrische Sichtbarkeit, die eine präzisere Steuerung des Zugriffs auf Klassenmitglieder erlaubt.

Die erweiterten Array-Funktionen und die Möglichkeit zur Instanziierung ohne Klammern sorgen für eine noch einfachere Handhabung von Daten und eine übersichtlichere Syntax. Die Unterstützung für HTML5-Dokumente und neue Funktionen in der Mbstring-Erweiterung verbessern die Arbeit mit modernen Webstandards und multibyte-kodierten Zeichenketten.

Zudem optimiert der JIT-Compiler die Leistung, und die Anpassungen bei der Sicherheitskompatibilität (z.B. höhere Anforderungen an OpenSSL und libcurl) machen PHP noch stabiler und zukunftssicherer.

Insgesamt macht PHP 8.4 große Fortschritte in Bezug auf Benutzerfreundlichkeit, Leistung und Flexibilität. Entwickler profitieren von einer effizienteren Codebasis und neuen Möglichkeiten zur Vereinfachung komplexer Aufgaben.

Für eine detailliertere Übersicht können Sie sich das folgende Video ansehen:

What's new in PHP 8.4?

Weiterer interessanter Beitrag: Top 25 Python-Skripte zur Automatisierung Ihrer täglichen Aufgaben

com

Newsletter Anmeldung

Bleiben Sie informiert! Wir informieren Sie über alle neuen Beiträge (max. 1 Mail pro Woche – versprochen)