Ahora están permitidas las palabras reservadas globalmente como nombres de propiedades, de constantes y de métodos dentro de clases, interfaces y rasgos. Esto reduce la superficie de roturas de retrocompatibilidad cuando se introducen nuevas palabras reservadas, y evita las restricciones de nombres en las API.
Esto es particularmente útil al crear DSL internas con interfaces fluidas:
<?php
// 'new', 'private', y 'for' no se podían utilzar antes
Proyecto::new('Nombre del proyecto')->private()->for('propósito')->with('nombre de usuario');
?>
La única limitación es que la palabra reservada class no se puede usar aún como nombre de constante, de lo contrario entraría en conflicto con la sintaxis de resolución del nombre de la clase (NombreClase::class).
Anteriormente, se emitía una advertencia si el
ajuste INI date.timezone
no estaba
establecido antes de utilizar cualquier función basada en fecha u hora. Ahora, esta advertencia
ha sido eliminada (siendo aún UTC
el valor predeterminado de
date.timezone
).