Другие изменения

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

Глобально зарезервированные слова теперь разрешено использовать для свойств, констант и методов в классах, интерфейсах и трейтах. Это уменьшает масштабы проблем обратной совместимости при вводе новых ключевых слов и позволяет избежать ограничений для 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).

add a note add a note

User Contributed Notes 1 note

up
0
Nicole Ama
8 years ago
Using "continue" outside of a loop or switch context throws a fatal error. Use "return" instead, if it makes sense to. Probably should have used return to begin with, but it never threw an error as of PHP 5.2. Not sure about later php 5.x versions.
To Top