现在允许在类、接口和特性中使用全局保留字作为属性、常量和方法名称。这减少了引入新关键字时 BC 中断的表面积,并避免了对 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
仍然默认为 UTC)。