En general, el uso de palabras reservadas como nombres de propiedades, constantes o métodos en clases, interfaces o traits ahora está permitido. Esto reduce la superficie de casos de retrocompatibilidad cuando se introducen nuevas palabras clave y evita las restricciones de nombres en las APIs.
Esto es particularmente útil cuando se crean DSL internos con interfaces "fluidas":
<?php
// 'new', 'private' y 'for' no se podían usar antes
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>
La única limitación es que la palabra clave class
no puede
ser usada como nombre de constante, ya que entraría en conflicto con la sintaxis de resolución del nombre de la clase
(ClassName::class
).
Anteriormente, se emitía una advertencia si el parámetro INI
date.timezone
no se había definido antes de usar las funciones de fecha/hora.
Ahora, esta advertencia ha sido eliminada (con
date.timezone
que sigue siendo UTC por defecto).