news 2026/4/16 12:04:50

PHP 基础案例教程之 01-PHP 开篇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PHP 基础案例教程之 01-PHP 开篇

初识 PHP

PHP 概述

PHP 是一种运行在服务器端的脚本语言,其语法风格融合了 C、Java 和 Perl 的特点。

PHP 主要用来开发动态网页,它可以将网页中需要动态变化的内容通过程序来生成,PHP 代码还可以嵌入 HTML 中使用,从而在服务端动态生成网页。

PHP 动态网页的处理流程:

PHP 发展史

PHP 最初为 Personal Home Page(个人主页)的缩写,于 1994 年由拉斯姆斯·勒多夫(Rasmus Lerdorf)创建,用来显示个人履历和统计网页流量。

1995 年 6 月,拉斯姆斯·勒多夫发布了 PHP 1.0,同年又发布了 PHP 2.0,命名为 PHP/FI(PHP/Form Interpreter),该版本可以处理复杂的嵌入式标签语言,同时支持 MySQL 数据库,此时使用 PHP/FI 开发的网站数量迅速增长,提高了其在开发领域的影响力。

1997 年,泽夫·苏拉塞(Zeev Suraski)和安迪·古特曼(Andi Gutmans)加入了 PHP 开发小组,重新编写了底层的解析引擎,很多开发人员也自愿加入到 PHP 的工作中,从此 PHP 成为了真正意义上的开源项目。

1998 年 6 月,PHP 3.0 版本发布,这一版本具有更好的执行效率、更加清晰的结构和更高的可扩展性,开发人员也可以参与到 PHP 扩展模块的开发。

2000 年 5 月,PHP 4.0 版本发布,该版本使用 Zend 引擎为 PHP 提供强大的动力,提高了运行复杂程序的性能。相比 PHP 的前几个版本,PHP 4.0 的性能高出近十倍,此外还更新了一些其他内容,例如支持多种 Web 服务器、丰富的函数库、类和对象的语法等,这一版本中逐渐开始采用面向对象的思想。

2004 年 7 月,PHP 5.0 正式发布,这标志着 PHP 一个新时代的到来,该版本使用第二代 Zend 引擎,引入了完善的面向对象机制。

2007 年,PHP 开发小组开始重构 PHP 6.0 版本,在该版本中进一步完善了面向对象机制,精简数组语法,但是 PHP 6.0 版本没有正式发布。

2015 年 6 月,PHP 7.0 发布,该版本是 10 年来的大改版,在性能上有更大的突破,PHP 7.0 在 PHP 5.0 基础上做了进一步的改进,功能更强大,执行效率更高。

2020 年 11 月,PHP 8.0 发布,该版本包含了很多新功能与优化项,包括命名参数、联合类型、注解、构造器属性提升、match 表达式、nullsafe 运算符、JIT,并改进了类型系统、错误处理、语法一致性。

PHP 特点

随着时间的推移,PHP 凭借其特点,在 Web 开发领域占据了重要地位。

  • 开源免费:PHP 的源代码是开源的,并且可以免费使用。
  • 跨平台:PHP 的跨平台性很好,移植方便,在 Linux 平台和 Windows 平台上都可以运行。
  • 面向对象:PHP 提供了类和对象的语法,使用 PHP 进行 Web 开发时可以选择面向对象编程。
  • 支持多种数据库:PHP 支持 ODBC(开放数据库互联),可以连接任何支持该标准的数据库,如 MySQL、Oracle、SQL Server 和 DB2 等。PHP 与 MySQL 是最佳搭档,使用得最多。
  • 开发效率高:PHP 语法简单、实用性强、开发速度快,目前有很多 PHP 框架可以提高项目的开发速度。

根据 TIOBE 公布的 2024 年 4 月编程语言排行榜,PHP 在该榜单中的排名已跌至第 17 位。

在实际应用中,编程语言的选择应根据具体的项目需求、团队技术栈、性能要求等多方面因素来决定。虽然 PHP 的排名有所下降,但它在一些领域仍然被广泛使用,特别是在中小型网站和 Web 内容管理系统中。

搭建 PHP 开发环境

集成环境

使用集成安装的方式,可以快速搭建 PHP 系列开发环境,集成安装可以快速搭建开发环境,免去繁琐的环境安装、配置过程,但集成安装有可能会造成局部环境冲突,需要根据实际情况妥善选择。

常见的集成安装环境有:FlyEnv、UPUPW、PHPStudy、LNMP/LAMP、宝塔等。

FlyEnv 是一款一体化全栈环境管理工具,提供了一个完整的运行环境,通过极速多版本切换、全栈技术支持和无缝跨平台体验,简化开发流程。

FlyEnv:https://www.flyenv.com/

UPUPW 绿色服务器平台是 Windows 下很有特色的一款免费服务器 PHP 套件,包括 Apache、Nginx、MySQL、Redis 等核心应用,支持 PHP、ASP、ASP.NET 解析语言,更适应 Windows 服务器的高效生产工作。

UPUPW:https://www.upupw.net/

LNMP 一键安装包是一个用 Linux Shell 编写的可以为 Linux VPS 或独立主机安装 LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的 Shell 程序。

LNMP:https://lnmp.org/

PhpStudy(小皮面板)是国内 12 年老牌公益软件,集安全,高效,功能与一体,已获得全球用户认可安装,运维也高效,支持一键 LAMP、LNMP、集群、监控、网站、FTP、数据库、JAVA 等 100 多项服务器管理功能。

PhpStudy:https://www.xp.cn/

宝塔面板支持一键 LNMP/LAMP/WNMP/WAMP/IIS/SQLServer/MySQL/集群/监控/网站/FTP/数据库/JAVA/PM2 等 100 多项服务器管理功能。

宝塔面板:https://www.bt.cn/

PHP

本地开发也可以手动安装 PHP,课程选用 PHP 版本为 8.4。

Windows 系统下载 PHP:https://windows.php.net/download/

  • PHP 版本分为线程安全(Thread Safe,TS)和非线程安全(Non Thread Safe,NTS)。
  • 一般情况下,Apache+PHP 选择 TS,Nginx+PHP、IIS+PHP 选择 NTS。
  • 在 IIS 或 Nginx 中以 FastCGI 方式运行 PHP 时,PHP 拥有独立的进程,并且 FastCGI 是单一线程的,不存在多个线程之间可能引发的问题,因此使用非线程安全版本能够获得更好的性能。
  • PHP 的线程安全与非线程安全版本只存在于 Windows 版本中,在 macOS/Linux 系统中,PHP 通常只提供非线程安全版本,因为 macOS/Linux 系统采用的是多进程的工作方式,不存在线程安全问题。
  • PHP 压缩包下载解压完成后,自行根据压缩包内提供的 .ini 配置文件来编写 PHP 配置文件(php.ini),并将整个文件夹复制到磁盘指定的位置中即可。

Linux 系统下载 PHP:使用 yum/apt 包管理工具安装。

macOS 系统下载 PHP:使用 HomeBrew 包管理工具安装。

IDE

Visual Studio Code、IntelliJ IDEA、PHPStorm 均可开发 PHP 项目,建议直接使用 IntelliJ IDEA 作为 PHP 项目开发所使用的 IDE。

在 IntelliJ IDEA 中,有支持 PHP 项目的插件。

在 IntelliJ IDEA 中,还需要配置 PHP 语言级别和 CLI 解释器,以支持 PHP 项目开发。

phpinfo

PHP 开发环境搭建完成后,可以创建一个 PHP 项目,查看 PHP 环境信息。

  • 新建 PHP 文件,并编写 PHP 文件基本结构。
  • 使用 PHP 内置的 phpinfo 函数输出 PHP 环境信息。
  • 配置 PHP 内置 Web 服务器,运行 PHP 项目。

PHP 内置了一个简单的 Web 服务器,自 PHP 5.4.0 起可用。

使用 PHP 内置 Web 服务器,无需额外安装和配置复杂的 Web 服务器软件(如 Apache、 Nginx),即可快速启动一个简单的服务器来运行 PHP 脚本。

PHP 内置 Web 服务器在功能和效率上不如 Apache、Nginx 等成熟的 Web 服务器,但对于小型项目的开发和调试非常方便。


示例:phpinfo

新建 PHP 项目:

入口页面(index.php):

<?php // 所有的PHP脚本以 <?php 开头 phpinfo(); // 输出PHP环境信息

配置 PHP 内置 Web 服务器:

示例效果:


PHP 手册

访问手册

部分语法、新特性,需要通过查阅 PHP 手册来学习。

PHP 手册:https://www.php.net/manual/zh/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 7:43:45

FURION入门:零基础搭建你的第一个.NET应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个简单的FURION入门项目&#xff0c;展示如何配置开发环境、创建控制器和视图。项目包含一个欢迎页面和用户反馈表单&#xff0c;使用SQLite作为数据库。提供详细的步骤说明…

作者头像 李华
网站建设 2026/4/15 19:00:42

5分钟打造你的个性化符号生成器

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用快马平台开发一个简单的符号生成器原型&#xff0c;用户输入关键词&#xff08;如‘星空’、‘火焰’等&#xff09;&#xff0c;AI返回匹配的稀有符号。支持实时预览和复制功…

作者头像 李华
网站建设 2026/4/16 9:26:33

JSON格式化入门:零基础学会处理JSON数据

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式JSON学习工具&#xff0c;通过可视化界面引导用户了解JSON结构。提供实时格式化预览、错误提示和修正建议&#xff0c;包含从简单到复杂的示例&#xff0c;帮助初学…

作者头像 李华
网站建设 2026/4/16 9:48:48

无需GPU高手技能,普通人也能部署的AI识图工具

无需GPU高手技能&#xff0c;普通人也能部署的AI识图工具 你是否曾觉得AI图像识别是“高不可攀”的技术&#xff1f;需要懂CUDA、会调参、还得有高端显卡&#xff1f;其实不然。今天我要分享的&#xff0c;是一款连编程新手都能轻松上手的中文图像识别工具——阿里开源的“万物…

作者头像 李华
网站建设 2026/4/16 9:24:43

电商系统数据流图实战:从需求到实现的完整案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个电商系统数据流图生成器&#xff0c;预设以下典型场景&#xff1a;1. 用户下单流程 2. 库存扣减逻辑 3. 支付系统交互 4. 物流信息更新。要求&#xff1a;可视化展示各子系…

作者头像 李华
网站建设 2026/4/16 9:19:50

AI如何优化AppImage打包流程?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个AI辅助工具&#xff0c;用于自动生成和优化AppImage文件。工具应能分析项目依赖&#xff0c;自动打包应用&#xff0c;并优化文件大小。支持多种Linux发行版&#xff0c;提…

作者头像 李华