Глобально зарезервированные слова теперь разрешено использовать для свойств, констант и методов в классах, интерфейсах и трейтах. Это уменьшает масштабы проблем обратной совместимости при вводе новых ключевых слов и позволяет избежать ограничений для API.
Это особенно полезно при создании внутренних DSL с текучими интерфейсами:
<?php
// Ранее 'new', 'private' и 'for' использовать было нельзя.
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>
Единственное ограничение, что слово class все еще нельзя использовать как имя константы, так как оно будет пересекаться с синтаксисом разрешения имени класса (ClassName::class).
Ранее вызывалось предупреждение если INI-настройка
date.timezone
не была задана раньше
использования каких либо функций работы с датой или временем. Теперь это
предупреждение удалено (но
date.timezone
по умолчанию все еще UTC).