类型化类常量

interface HasVersion {
    const string VERSION = "1.0";
}
class App implements HasVersion {
    const string VERSION = "2.0";
}

只读属性深克隆

PHP 8.3 之前,readonly 属性在 clone 时无法重新赋值;8.3 起可在 __clone() 魔术方法中修改。

json_validate() 函数

$valid = json_validate('{"name":"zblog"}'); // true
$invalid = json_validate('{bad json}');       // false

迁移注意

  • 移除了隐式 nullable 参数,需显式声明 ?string
  • array_sum()/array_product() 对空数组行为变更