Otros cambios

Relajación en las restricciones de palabras reservadas

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).

Eliminación de la advertencia de date.timezone

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).