PHP社群正式发布最新版本PHP 8.4,多项重要更新包括添加属性挂勾(Property Hooks)与非对称可见性(Asymmetric Visibility),这两项功能可以带来明显的性能提升和开发灵活性。
属性挂勾是这个版本的代表性新功能,让开发者可以为属性定义特定的行为逻辑,像是存取或是设置属性时,可以直接加入检查或是转换的过程,而不需要编写额外的辅助方法。过去开发者需要借由魔术方法,例如__get和 __set实现类似的功能,但这种特殊的方法不仅难以阅读,还会对性能造成负面影响。
而属性挂勾的加入不仅解决这些问题,也能够被用于更多创新场景中,像是开发者可以简单定义虚拟属性,让程序逻辑更直觉且接近自然语言表达,进一步改进代码的可维护性和协作效率。
另一个受到关注的新功能是非对称可见性,提供属性存取控制更大的灵活性,允许开发者区分属性的读取和写入权限,例如在部分应用中,属性可设为公开读取但限制写入,现在通过简单语法即可实现,无需额外的辅助方法。非对称可见性简化了代码逻辑,并且提升数据完整性和安全性,可对API开发和用户数据保护等场景提供更细致的控制。
官方指出,这些功能的实作历经数年的技术与设计探索。属性挂勾的构想甚至可溯及2009年,该功能经过多次提案都未获足够的支持,一直到PHP基金会的资助与协作才成功实现。在开发过程也经过多次修改和讨论,并且从C#、Swift和Kotlin等现代语言的设计汲取灵感,使该功能更加符合PHP生态。而非对称可见性的提案也是在2023年投票失败后,于2024年重新来过,终于取得压倒性票数,成为PHP语法重要的现代化功能。
除了属性挂勾与非对称可见性,PHP 8.4在性能和兼容性也大有进展,像是DOM扩展全面支持HTML5,提升解析准确性并加入CSS选择器功能。BCMath扩充添加运算符多载支持,使得代数运算更加直觉。同时,PHP 8.4中OpenSSL等底层相依套件也进一步升级,强化了安全性和稳定性。
PHP 8.4能够顺利实现多项重要更新,很大程度是因为PHP基金会的支持。PHP基金会是2021年成立的非营利组织,专注向PHP语言开发提供长期稳定的资金和技术支持,其通过资助Ilija Tovilo等内核开发者,解决过去因资源匮乏而导致功能开发中断的问题。



2024-11-27
