Palavras reservadas globalmente agora são permitidas como nomes de propriedades, constante e métodos dentro de classes, interfaces e traits. Isso reduz o aspecto de quebras no BC quando novas palavras-chave são introduzidas e evita restrições de nomes em APIS.
Isso é particularmente útil quando estiver criando DSLs com interfaces fluentes:
<?php
// 'new', 'private', e 'for' eram proibidas
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>
A única limitação é que a palavra-chave class continua não podendo ser utilizada como nome de constante, caso contrário conflitará com a sintaxe de resolução de nomes de classe (ClassName::class).
Anteriormente, um aviso era emitido se a
configuração INI date.timezone
não havia
sido definida antes de utilizar qualquer função de data ou tempo. Agora, este aviso
foi removido (com a diretiva date.timezone
padronizada para UTC).