PHP新标准:2024年开发者将迎来哪些变化

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

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

开始课程

PHP 新标准:2024年开发者将迎来什么



PHP 社区持续为开发者带来惊喜:2023年底发布了 PHP 8.3 最终版本,而 2024 年预计将推出 PHP 8.4。这些版本为最流行的 Web 编程语言之一设定了新的质量标准。让我们来看看开发者将面临哪些关键变化,以及如何为过渡做好准备。



PHP 8.3 的主要新特性



8.3 版本已获得稳定版状态,并包含一系列改进,使代码更简洁、更安全、更快速:



  • 类型化类常量 — 现在可以显式指定常量的类型:final public const string MY_CONST = 'value';。这提高了可读性,并有助于静态分析器。
  • #[Override] 属性 — 显式指示方法覆盖了父类方法。如果父类中的方法发生更改或消失,PHP 将抛出错误。这是防止回归的绝佳保护。
  • 深度克隆 readonly 属性 — 现在可以在克隆对象时修改 readonly 属性,从而简化了与不可变 DTO 的协作。
  • 改进的 json_validate() 函数 — 一种快速检查字符串是否为有效 JSON 而无需完全解析的方法。节省内存和时间。
  • 新的数组方法 — array_any() 和 array_all() 允许简洁地检查是否至少有一个(或所有)元素满足条件。


PHP 8.4 准备了什么?



虽然 PHP 8.4 版本预计在 2024 年底发布,但目前已经在讨论几个重要的 RFC(语言变更提案):



  • Property Hooks(属性钩子) — 期待已久的功能,允许直接向类属性添加 getter 和 setter,而无需编写单独的方法。这将使代码更具声明性,并减少样板代码。
  • 非对称可见性 — 能够为属性的读取和写入设置不同的访问级别。例如,公共读取但受保护的写入。
  • 改进的 JIT 性能 — Just-In-Time 编译器的工作仍在继续。预计繁重计算的速度将提升 10-20%。
  • 支持交集类型(Intersection Types) — 允许声明必须同时实现多个接口的参数,例如:function foo(Countable&Stringable $obj)。


如何为更新做准备?



迁移到新版本的 PHP 不仅意味着新功能,还意味着潜在的 breaking changes。我们建议采取以下行动计划:



  • 检查代码兼容性 — 使用具有最高严格级别的静态分析器(PHPStan、Psalm)。它们会高亮显示已弃用的结构。
  • 更新依赖项 — 确保所有使用的库和框架(Laravel、Symfony、WordPress)都支持 PHP 8.3+。
  • 在 staging 环境测试 — 在测试环境中部署新版本,运行自动化测试并检查关键场景。
  • 使用现代 PHP — 逐步引入属性、类型化、readonly 类和其他功能。这将简化未来的更新。

推荐库