第 5 章 发现潜在的 OOP 向后兼容性缺陷

本章是《PHP 8 技巧》一书第二部分的开始。在这一部分中,您将发现 PHP 8 的黑暗角落:存在向后兼容性问题的地方。本部分将介绍如何在将现有应用程序迁移到 PHP 8 之前避免出现问题。您将学会在现有代码中查找可能导致 PHP 8 升级后停止工作的原因。一旦掌握了本书这一部分所介绍的内容,就能很好地修改现有代码,使其在 PHP 8 升级后继续正常运行。

在本章中,将向你介绍 PHP 8 中专门针对面向对象编程(OOP)的新特性。本章提供了大量简短的代码示例,清楚地说明了新功能和新概念。本章对于帮助你快速利用 PHP 8 的强大功能至关重要,因为你可以根据自己的实际情况调整代码示例。本章的重点是 PHP 8 移植后面向对象的代码可能会中断的情况。

本章涉及的主题包括以下内容:

  • 发现核心 OOP 编码差异

  • 驾驭神奇方法的变化

  • 控制序列化

  • 了解 PHP 8 扩展的差异支持

  • 处理标准 PHP 库 (SPL) 的变化

技术要求

要检查和运行本章提供的代码示例,推荐的最低硬件要求如下:

  • 基于 x86_64 的台式电脑或笔记本电脑

  • 1 GB 可用磁盘空间

  • 4 GB 内存

  • 每秒 500 千比特(Kbps)或更快的互联网连接

此外,您还需要安装以下软件:

  • Docker

  • Docker Compose

有关 Docker 和 Docker Compose 安装的详细信息,以及如何构建用于演示本书中讲解的代码的 Docker 容器,请参阅第 1 章 "PHP 8 OOP 新特性介绍" 中的 "技术要求" 部分。在本书中,我们将还原本书示例代码的目录称为 /repo。

现在,我们可以开始讨论 OOP 核心编码的差异。