Other Changes

Ослабление ограничения зарезервированных слов

Глобально зарезервированные слова теперь разрешено использовать для свойств, констант и методов в классах, интерфейсах и трейтах. Это уменьшает масштабы проблем обратной совместимости при вводе новых ключевых слов и позволяет избежать ограничений для API.

Это особенно полезно при создании внутренних DSL с текучими интерфейсами:

<?php
// Ранее 'new', 'private' и 'for' использовать было нельзя.
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>

Единственное ограничение, что слово class все еще нельзя использовать как имя константы, так как оно будет пересекаться с синтаксисом разрешения имени класса (ClassName::class).

Удаление предупреждения date.timezone

Ранее вызывалось предупреждение если INI-настройка date.timezone не была задана раньше использования каких либо функций работы с датой или временем. Теперь это предупреждение удалено (но date.timezone по умолчанию все еще UTC).