Las palabras reservadas globalmente ahora se pueden usar como nombres de propiedades, constantes y métodos dentro de clases, interfaces y traits. Esto reduce el impacto de la ruptura de compatibilidad hacia atrás cuando se introducen nuevas palabras clave, y evita restricciones de nombres al diseñar 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 se
puede usar como nombre de constante, ya que entraría en conflicto con la sintaxis de
resolución de nombres de clase (ClassName::class).
Anteriormente, se emitía una advertencia si la
directiva INI date.timezone no se había
definido antes de utilizar las funciones de fecha y hora. Ahora esta advertencia
se ha eliminado (aunque date.timezone sigue estando predeterminado en
UTC).