第 1 章 引入新的 PHP 8 OOP 功能

本章将介绍 PHP.Hypertext Preprocessor 8(PHP 8)的新功能:超文本预处理器 8(PHP 8)面向对象编程(OOP)的新特性。本章介绍了一组可用于生成 CAPTCHA 图像(CAPTCHA 是 Completely Automated Public Turing test 的首字母缩写,用于区分计算机和人类)的类,清楚地说明了 PHP 8 的新特性和概念。本章对于帮助您快速将 PHP 8 的新功能融入自己的实践至关重要。这样,你的代码将运行得更快、更高效,错误也会更少。

本章涵盖以下主题:

  • 使用构造函数属性提升

  • 使用属性

  • 在程序代码中加入匹配表达式

  • 理解命名参数

  • 探索新的数据类型

  • 使用类型化属性改进代码

技术要求

要检查和运行本章提供的代码示例,这里列出了推荐的最低硬件要求:

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

  • 1 GB 可用磁盘空间

  • 4 GB 随机存取内存(RAM)

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

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

  • Docker

  • Docker Compose

本书使用一个预构建的 Docker 镜像,其中包含创建和运行本书所涉及的 PHP 8 代码示例所需的所有软件。您无需在计算机上安装 PHP、Apache 或 MySQL:只需使用 Docker 和提供的映像即可。

设置测试环境以运行代码示例的步骤如下:

  1. 安装Docker。

    如果您运行的是 Windows,请从此处开始:

    如果您使用的是 Mac,请从这里开始:

    如果您使用的是 Linux,请看这里:

  2. 安装 Docker Compose。对于所有操作系统,请从这里开始:

  3. 将与本书相关的源代码安装到您的本地计算机上。

    如果您已经安装了 Git,请使用以下命令:

    git clone https://github.com/PacktPublishing/PHP-8-Programming-Tips-Tricks-and-Best-Practices.git ~/repo

    否则,您只需从以下统一资源定位器 (URL) 下载源代码: https://github.com/PacktPublishing/PHP-8-Programming-Tips-Tricks-and-Best-Practices/archive/main.zip 。然后解压到您创建的文件夹中,在本书中我们将其称为 /repo。

  4. 您现在可以启动 Docker 守护进程运行。对于 Windows 或 Mac,您所需要做的就是激活 Docker Desktop 应用程序。

    如果您运行的是 Ubuntu 或 Debian Linux,请发出以下命令:

    sudo service docker start

    对于 Red Hat、Fedora 或 CentOS,请使用以下命令:

    sudo systemctl start docker
  5. 构建与本书相关的 Docker 容器并将其联机。具体步骤如下。

    在本地计算机上打开命令提示符(终端窗口)。将目录更改为 /repo。首次使用时,请执行 docker-compose build 命令来构建环境。请注意,运行 Docker 命令可能需要 root(管理员)权限。如果是这种情况,要么以管理员身份运行(Windows),要么在命令前加上 sudo。根据您的连接速度,初始构建可能需要相当长的时间才能完成!

  6. 启动容器的步骤如下

  7. 从本地计算机打开命令提示符(终端窗口)。将目录更改为 /repo。运行以下命令,在后台模式下启动 Docker 容器:

    docker-compose up -d

    请注意,你其实不需要单独构建容器。如果在发布 docker-compose up 命令时容器尚未构建,它就会自动构建。另一方面,单独构建容器可能会比较方便,在这种情况下,docker build 就足够了。

    这里有一条很有用的命令,可以确保所有容器都在运行:

    docker-compose ps
  8. 访问正在运行的 Docker 容器网络服务器的步骤如下。在本地计算机上打开浏览器。输入此 URL 以访问 PHP 8 代码:

    http://localhost:8888

    输入此 URL 访问 PHP 7 代码:

    http://localhost:7777
  9. 要在运行中的 Docker 容器中打开命令 shell,请按以下步骤操作。

    从本地计算机打开命令提示符(终端窗口)。发出此命令以访问 PHP 8 容器:

    docker exec -it php8_tips_php8 /bin/bash

    发出此命令可访问 PHP 7 容器:

    docker exec -it php8_tips_php7 /bin/bash
  10. 完成对容器的操作后,从本地计算机打开 "命令提示符"(终端窗口)并发出以下命令,即可将容器脱机:

    docker-compose down

本章的源代码位于此处:

如果主机使用高级 RISC 机器 (ARM) 架构(如 Raspberry Pi),则需要使用修改过的 Dockerfile。

阅读以下文章,快速了解 Docker 技术和术语: https://docs.docker.com/getstarted/

我们现在可以通过查看构造函数属性提升来开始我们的讨论。