原创PHP 8.4.1版本重磅更新:属性钩子、非对称可见性、全新DOM API等特性亮相
PHP 8.4.1版本于11月21日由开发团队正式发布,此更新不仅修复了若干关键的安全漏洞,还引入了众多改进和新功能,标志着8.4.x系列成为PHP的最新主要版本。
据官方资料显示,PHP 8.4.1是8.4系列的首个正式版本,8.4.0版本因未包含必要的安全修复而被跳过。
在安全方面,PHP 8.4.1修复了包括CVE-2024-8929、CVE-2024-8932、CVE-2024-11233、CVE-2024-11234和CVE-2024-11236在内的多个安全漏洞,这些漏洞可能引发安全风险,因此强烈建议所有PHP用户升级至8.4.1版本以保障系统安全。
以下是PHP 8.4.1版本的主要更新内容:
1.属性钩子:引入了对计算属性的支持,使得IDE和静态分析工具能够更直观地理解这些属性,无需依赖可能过时的docblock注释。同时,它们允许在不检查类中是否存在相应的getter或setter的情况下,可靠地进行值的预处理或后处理。
2.不对称可见性:现在可以分别控制属性的读写作用域,减少了编写繁琐的getter方法以公开属性值同时防止外部修改的需求。
3.新增#[Deprecated]属性:PHP现在允许用户定义的函数、方法和类常量使用#[Deprecated]属性,增强了PHP的弃用机制。
4.延迟对象(Lazy Objects):允许开发者创建延迟初始化的对象,仅在访问时进行初始化,提高程序效率,尤其适合大型对象的创建。
5.新增ext-dom特性和HTML5支持:新的DOM API包括对HTML5文档的标准支持,修复了DOM功能中的几个长期规范性错误,并添加了一些新函数,使得文档处理更加便捷。
6.新增array_*()函数:引入了array_find()、array_find_key()、array_any()和array_all()等新函数。
7.PDO驱动程序指定SQL解析器:增加了对PDO驱动程序特定子类的支持,以及对驱动程序特定SQL解析器的支持,扩展了数据库操作的可能性。
8.new MyClass()->method()无需括号:现在可以直接访问新实例化对象的属性和方法,而无需在new表达式周围使用括号。
PHP 8.4.1还包括了大量性能优化、bug修复和代码清理,进一步提升了PHP的稳定性和可靠性。更多更新细节,请访问官方网站查看完整更新日志。