PHP 8.2 建立在 PHP 8.0 和 PHP 8.1 所建立的更新基础之上。 现在 PHP 8.2 已经可用,让我们仔细看看 PHP 8.2 中的新增功能 — 从新功能和改进到弃用和细微更改。
由于 PHP 8.2 于 2022 年 7 月 19 日进入功能冻结阶段,预计此列表中不会有任何重大新增内容。兴奋的? 我们也。
新的只读类
PHP 8.1 引入了类属性的只读函数。 现在,PHP 8.2 添加了对将整个 特殊数据 类声明为只读的支持。
如果将一个类声明为只读,则其所有属性将自动继承只读特性。 因此,将类声明为只读与将该类的所有属性声明为只读相同。
例如,在 PHP 8.1 中,您必须编写以下乏味的代码来将所有类属性声明为只读:
您还可以声明一个不带属性的只读类。 实际上,这可以防止动态属性,但允许子类显式声明其只读属性。
允许 truefalse 和 null 作为独立类型
PHP 已经包含了标量类型,例如 int、string 和 bool。 PHP 8.0 中对此 高级列表 进行了扩展,添加了联合类型,允许值具有不同类型。 同一 RFC 还允许将 false 和 null 用作联合类型的一部分,但不允许将它们用作独立类型。
如果您尝试将 false 或 null 声明为独立类型(而不是联合类型的一部分),则会发生致命错误。