PHP 8.4 新标准:面向开发者的主要变化

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

PHP 8.4 新标准:关键新特性概览



Web 开发世界再次充满期待:PHP 8.4,这个最流行服务器端语言的下一个主版本,有望成为向前迈出的重要一步。尽管正式版本计划于 2024 年底发布,但我们现在已经可以评估那些将影响开发者日常工作的关键变化。在本文中,我们将分析最重要的内容。



Property Hooks:期待已久的简洁性



也许最受热议的新特性就是 property hooks(属性钩子)。它允许直接在属性声明中定义获取(get)和设置(set)值的逻辑,而无需编写冗长的 getter 和 setter 方法。



  • 简化代码:无需创建单独的方法,你可以在属性内部编写逻辑。代码变得更干净、更简短。
  • 提高可读性:数据验证或转换的逻辑现在位于变量声明旁边。
  • 灵活性:既可以创建计算属性(仅 get),也可以创建带有写入检查的属性。


示例:以前,要检查用户年龄,需要编写 setAge() 方法。在 PHP 8.4 中,可以直接在属性中完成:public int $age { set => $value >= 0 ? $value : 0; }。这改变了类的设计方式。



异步支持:迈向现代化的步伐



尽管 PHP 历史上是一种同步语言,但社区正在积极推动对异步编程的支持。PHP 8.4 迈出了重要一步,引入了对 Fiber(纤程)的改进支持以及用于非阻塞 I/O 的新函数。



  • Fibers:允许暂停和恢复函数执行,而不会阻塞整个进程。
  • 非阻塞流:简化了高负载应用程序(如 WebSocket 或异步 API)的编写。
  • 兼容性:新机制不会破坏旧代码,但为现代模式打开了大门。


这并不会使 PHP 像 JavaScript 那样完全异步,但它为开发者提供了更有效处理并发的工具。



JIT 与性能改进



首次出现在 PHP 8.0 中的即时(JIT)编译得到了显著改进。在 8.4 版本中,核心开发团队优化了其工作方式,这将导致实际项目中代码执行速度的提升。



  • 循环处理优化:JIT 能更好地处理长时间迭代。
  • 降低开销:减少了编译和内存管理的时间。
  • 加速高达 10-15%:在某些合成测试中,即使在普通网页上也能看到明显的性能提升。


对于开发者来说,这意味着现有代码在迁移到新版本后,无需任何修改即可运行得更快。



还有哪些值得了解?



除了主要功能外,PHP 8.4 还包含许多微小但令人愉悦的改进: