Entwicklung

PHP 8.4: Neue Features und Verbesserungen für die Programmiersprache

Geschrieben von Kevin Kyburz

Veröffentlicht am

PHP 8.4 Titelbild

Die neueste Version von PHP, 8.4, bringt spannende Innovationen mit sich, darunter Property Hooks, asymmetrische Sichtbarkeit sowie erweiterte Array-Funktionen. Diese Weiterentwicklungen zielen darauf ab, die Programmierung effizienter und flexibler zu gestalten.

Property Hooks: Präzise Kontrolle über Eigenschaften

Mit der Einführung der Property Hooks ermöglicht PHP 8.4 eine gezielte Steuerung des Verhaltens von Klassen-Eigenschaften. Entwickler können sogenannte get- und set-Hooks definieren, die benutzerdefinierte Logik beim Zugriff oder bei der Modifikation von Eigenschaften ausführen. Dadurch wird der Bedarf an umfangreichen Getter- und Setter-Methoden reduziert. Eine zusätzliche Verbesserung stellt die Möglichkeit dar, Eigenschaften in Schnittstellen zu definieren. Das erleichtert die Typisierung und Spezifikation von Operationen, wodurch die Struktur des Codes klarer wird.

Asymmetrische Sichtbarkeit: Flexibler Zugriff

Ein weiteres bedeutendes Feature ist die asymmetrische Sichtbarkeit. Dieses erlaubt es, Lese- und Schreibrechte für Eigenschaften unterschiedlich zu gestalten. So können Entwickler beispielsweise eine Eigenschaft öffentlich lesbar, jedoch nur intern änderbar machen. Diese Funktion erhöht die Sicherheit und Flexibilität bei der Verwendung von Klassen.

Beispiel:

class Example {

    public protected(set) string $name;

    public function __construct(string $name) {

        $this->name = $name;

    }

}

Erweiterte Array-Funktionen

PHP 8.4 führt mehrere neue Array-Funktionen ein, die die Arbeit mit Arrays erleichtern sollen:

  • array_find: Gibt das erste Element zurück, das einen bestimmten Callback erfüllt.
  • array_find_key: Liefert den Schlüssel des ersten passenden Elements.
  • array_any: Prüft, ob mindestens ein Element den Bedingungen entspricht.
  • array_all: Verifiziert, ob alle Elemente den Bedingungen genügen.

Diese Funktionen sparen Zeit, da sie häufig genutzte Logiken direkt bereitstellen.

Vereinfachte Syntax für Instanziierung

Ein weiteres Augenmerk der Version 8.4 liegt auf der Verbesserung der Lesbarkeit des Codes. Beim direkten Instanziieren einer Klasse mit anschliessendem Methodenaufruf können die Klammern weggelassen werden. Dadurch wird der Code kompakter und übersichtlicher.

Vorher:

var_dump((new PhpVersion())->getVersion());

Jetzt:

var_dump(new PhpVersion()->getVersion());

HTML5-Unterstützung und Just-in-Time-Kompilierung

Mit PHP 8.4 wurde die Unterstützung für HTML5-Parsing überarbeitet. Eine neue Parsing-Bibliothek bietet vollständige Unterstützung für HTML5 und verbessert die Arbeit mit DOM-Strukturen erheblich.

Zusätzlich wurde der Just-in-Time-Kompilierungsprozess (JIT) optimiert. Obwohl JIT weiterhin standardmäßig deaktiviert bleibt, ermöglichen neue Konfigurationsoptionen eine effizientere Anpassung.

Weitere Verbesserungen

Neben den Hauptfeatures gibt es zahlreiche weitere Updates:

  • Neue HTTP-Verben für $_POST und $_FILES.
  • Multibyte-Trim-Funktion mb_trim().
  • Überarbeitete Rundungsmodi für round().
  • Verbesserungen in den DOM- und XSL-Erweiterungen.
  • Unterstützung von Lazy Objects für Proxy-Objekte.
  • Einführung des Attributs #[Deprecated], das veraltete Funktionen markiert.

Fazit: Ein vielseitiges Update für PHP

PHP 8.4 bringt zahlreiche Neuerungen, die sowohl die Flexibilität als auch die Benutzerfreundlichkeit der Sprache verbessern. Ob es sich um optimierte Syntax, leistungsstarke neue Funktionen oder grössere Kontrolle bei Klassen handelt – diese Version hat das Potenzial, Entwickler bei der Erstellung moderner und effizienter Webanwendungen erheblich zu unterstützen.

Entwickler, die die neuen Features nutzen möchten, können weitere Informationen und den vollständigen ChangeLog auf php.net einsehen.

Kevin Kyburz

Kevin Kyburz

Founder & CEO

Mit meinem ersten Schritt im Internet war ich bereits von den unbegrenzten Möglichkeiten überwältigt. Seither sind 20 Jahre vergangen und das Interesse daran ist kein bisschen kleiner geworden. Heute vereine ich meine Leidenschaft für SEO, Marketing und WordPress innerhalb von this:matters.