PHP 8.4 新版本概览:主要变化与新特性

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

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

开始课程

PHP 8.4 新版本已发布:有哪些变化



开发者社区迎来了期待已久的 PHP 8.4 版本。此次更新不仅带来了期待已久的功能,还显著提升了性能,这将改变现代代码的编写方式。让我们来解析每个使用 PHP 的人都应该了解的主要新特性。



Property Hooks(属性钩子)

最受关注的新特性之一是 property hooks。现在,您可以直接在类中定义属性的读写逻辑,而无需创建单独的 get/set 方法:

  • get hook — 在访问属性时调用,允许动态计算值;
  • set hook — 在赋值时调用,允许验证或转换数据;
  • 语法简洁,类似于 Kotlin 或 C# 中的属性。

这简化了代码编写,使其更易读,省去了 getter 和 setter 方法。



异步属性(非对称可见性)

PHP 8.4 引入了属性的非对称可见性。现在可以为读取和写入设置不同的访问级别:

  • 例如,public private(set) string $name — 属性可以从任何地方读取,但只能在类内部修改;
  • 这提高了代码的封装性和安全性,无需额外的方法。


JIT 编译器的改进

开发团队对 JIT(即时编译器)进行了重大改进。在 PHP 8.4 中:

  • 改进了循环和数学运算的性能;
  • 降低了编译时的内存消耗;
  • 更新了 IR(中间表示)引擎,在某些基准测试中速度提升了 10-15%。

这对于高负载项目和框架尤其重要。



标准库中的新函数和改进

此版本包含几个有用的补充:

  • array_find() — 用于查找满足条件的第一个元素的函数(类似于 array_filter,但返回单个元素);
  • array_all() 和 array_any() — 检查所有元素或至少一个元素是否满足回调函数;
  • mb_ucfirst() — 用于处理多字节字符串(类似于 ucfirst,但支持 UTF-8)。

这些函数简化了常见任务,减少了样板代码的数量。



其他重要变化

  • 改进的类型系统: 添加了对类常量类型的支持;
  • 异常处理优化: 降低了 throw/catch 的开销;
  • 移除过时函数: 最终移除了旧版本中的一些已弃用元素。


这对开发者意味着什么

PHP 8.4 不仅仅是一次常规更新,更是朝着更现代、更高性能、更便捷语言迈出的一步。Property hooks 和非对称可见性改变了类的使用范式,而 JIT 的改进使 PHP 在高负载 Web 应用领域更具竞争力。

我们建议您将项目更新到

推荐库