主要观点:介绍了 PHP 8.4 的多个新特性和变化,包括属性钩子、不对称可见性、#[\Deprecated]
属性、新的 DOM 特性、BCMath 的对象 API、新的array_*()
函数、PDO 驱动特定子类、new MyClass()->method()
无需括号、新的类、接口和函数以及弃用和向后兼容性中断等方面。
关键信息:
- 属性钩子可支持 IDE 理解的计算属性,无需写可能不同步的文档注释,还能进行值的预处理。
- 不对称可见性可独立控制属性的读写范围,减少样板代码。
#[\Deprecated]
属性使 PHP 的弃用机制可用于用户定义的函数等。- 新 DOM API 支持 HTML5 文档解析等,在
Dom
命名空间中。 BcMath\Number
对象可用于高精度数的面向对象操作。- 新的
array_*()
函数提供更便捷的数组操作。 - 新增多个 PDO 驱动特定子类。
- 可直接访问新实例化对象的属性和方法而无需括号。
- 新增众多类、接口和函数。
- 有多个扩展被解绑和弃用,以及一些函数、常量等的变化。
重要细节: - PHP 8.4 中类
Locale
的属性和方法定义及使用的变化。 - 不同版本中
PhpVersion
类的相关代码及变化,如获取版本等方法。 - 新 DOM API 中创建和操作文档的示例。
BcMath\Number
对象的使用方式及特性。- 新
array_*()
函数与旧方式的对比示例。 - PDO 驱动子类的具体示例及使用限制。
- 各种新特性在不同方面的具体表现和用法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。