PHP 8.4.0 RC4 available for testing

Sonstige Änderungen

Lockerung der Beschränkungen für reservierte Wörter

Global reservierte Wörter sind nun innerhalb von Klassen, Schnittstellen und Traits als Namen für Eigenschaften, Konstanten und Methoden erlaubt. Dadurch werden Probleme mit der Abwärtskompatibilität verringert, wenn neue Schlüsselwörter eingeführt werden, und Einschränkungen bei der Namensgebung für APIs vermieden.

Dies ist besonders nützlich, um interne DSLs mit "sprechenden" Schnittstellen (Fluent Interfaces) zu erstellen:

<?php
// 'new', 'private' und 'for' waren bisher nicht nutzbar.
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>

Die einzige Einschränkung dabei ist, dass das Schlüsselwort class immer noch nicht als Name für eine Konstante verwendet werden kann, da es sonst zu einem Konflikt mit der Syntax zur Auflösung von Klassennamen (ClassName::class) kommen würde.

Die Warnung bei date.timezone wurde entfernt

Bisher wurde eine Warnung ausgegeben, wenn die INI-Einstellung date.timezone nicht vor der Verwendung von datums- oder zeitbasierten Funktionen gesetzt wurde. Nun wurde diese Warnung entfernt (wobei die Standardeinstellung für date.timezone immer noch UTC ist).

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top