PHP: 认识PHP
如果你已经学会 HTML 和 CSS,能做出漂亮的静态网页——那么 PHP 就是让网页"活起来"的下一步。就像 HTML 是房子的墙壁和地板,PHP 就是屋里的电线和管道,让一切动起来。
1. PHP 是什么?
PHP 是一种运行在服务器端的脚本语言,专门用来创建动态网页和 Web 应用。
这个名字有点绕——它是 "PHP: Hypertext Preprocessor"(超文本预处理器)的递归缩写。用人话说:PHP 代码在服务器上运行,运行完后生成纯 HTML 发送给浏览器。你在浏览器里"查看网页源代码"时,永远看不到 PHP 代码本身,只能看到它生成的 HTML。
▶ 示例:PHP 服务器端运行
<?php
// 服务器端运行的 PHP 代码
$name = "小明";
echo "<h1>你好,{$name}!</h1>";
?>
上面的代码在服务器执行后,浏览器收到的是:
<h1>你好,小明!</h1>
(1) PHP 的运行流程
你在浏览器输入网址
↓
请求发送到网站服务器
↓
服务器上的 PHP 引擎执行 PHP 代码
↓
PHP 代码查询数据库、处理逻辑、生成 HTML
↓
纯 HTML 返回给浏览器
↓
你看到动态网页
整个 PHP 处理在服务器上完成,你的电脑不需要安装任何 PHP 环境。
2. 为什么学 PHP?
PHP 是世界上使用最广泛的服务端语言。 全球约 78% 的网站使用 PHP,包括这些你天天访问的网站:
| 网站 | 类型 | 规模 |
|---|---|---|
| WordPress | 博客/企业站 | 43%的全球网站基于它 |
| 社交网络 | 早期用PHP开发(后自研HHVM) | |
| Wikipedia | 百科 | 全球第五大网站 |
| Magento / WooCommerce | 电商 | 数百万在线商店 |
| Laravel 应用 | 各类Web应用 | GitHub 最高星PHP框架 |
(1) PHP 的核心优势
即写即跑,零编译等待。 修改代码 → 刷新浏览器 → 立即看到效果。不像 Java/C# 需要先编译再运行,PHP 的开发体验非常爽快。
天然嵌入 HTML。 把 PHP 代码直接写在 HTML 文件里就行:
▶ 示例:PHP 嵌入 HTML 输出日期
<!DOCTYPE html>
<html>
<body>
<h1>欢迎,<?php echo date("Y年m月d日"); ?></h1>
<p>当前时间是 <?php echo date("H:i:s"); ?></p>
</body>
</html>
内置 Web 能力。 PHP 从诞生第一天就是为 Web 设计的。处理表单、读写 Cookie、管理 Session、上传文件——这些在其他语言需要装框架才能做的事,PHP 自带。
庞大的生态系统。 PHP 有 5000+ 内置函数,成千上万的第三方库(通过 Composer 安装),以及全球最大的开源 CMS 生态(WordPress / Drupal / Joomla)。
3. PHP 能做什么?
| 应用场景 | 说明 | 你会学到 |
|---|---|---|
| 动态网页 | 根据用户、时间、数据生成不同内容 | Phase 1-3 |
| 表单处理 | 收集用户输入,验证并存储 | Phase 3 |
| 用户系统 | 注册、登录、权限管理 | Phase 3-4 |
| 数据库驱动网站 | 文章、商品、数据展示 | Phase 5 |
| 文件上传与管理 | 图片上传、文件存储 | Phase 3 |
| RESTful API | 为前端/APP 提供数据接口 | 后续 Laravel 教程 |
| 命令行脚本 | 定时任务、数据处理 | 掌握基础后 |
学完本教程 36 课,你将能独立搭建一个完整的博客系统——包含用户注册登录、文章发布管理、分类搜索、评论等功能。
4. PHP 版本史
| 版本 | 年份 | 里程碑 |
|---|---|---|
| PHP 1.0 | 1995 | Rasmus Lerdorf 发布,最初叫 "Personal Home Page Tools" |
| PHP 3.0 | 1998 | 重写内核,改名"PHP: Hypertext Preprocessor" |
| PHP 4.0 | 2000 | Zend Engine 引擎,性能大幅提升 |
| PHP 5.0 | 2004 | 完善的面向对象、PDO 数据库抽象层 |
| PHP 7.0 | 2015 | 性能翻倍,类型声明,抛弃 PHP 6 |
| PHP 8.0 | 2020 | JIT 编译器、match 表达式、命名参数、联合类型 |
| PHP 8.1 | 2021 | 枚举、Fiber(协程)、readonly 属性 |
| PHP 8.2+ | 2022+ | readonly 类、独立类型 null/false/true |
本教程基于 PHP 8.x 标准,你学到的都是现代 PHP 写法。
5. PHP 与 JavaScript 的区别
新手最容易混淆这两者,因为它们都能嵌入 HTML。但运行位置完全不同:
| PHP | JavaScript | |
|---|---|---|
| 运行位置 | 服务器 | 浏览器 |
| 用户能看到源代码吗? | ❌ 不能 | ✅ 能(查看网页源代码) |
| 能操作数据库吗? | ✅ 直接操作 | ❌ 需要后端提供 API |
| 能读写服务器文件吗? | ✅ 能 | ❌ 不能 |
| 能操作网页 DOM 吗? | ❌ 不能(生成 HTML 就结束了) | ✅ 专门干这个 |
| 适合做什么? | 后端逻辑、数据存储 | 前端交互、动画特效 |
一个典型的协作模式:
JS(前端) PHP(后端)
↓ ↓
点击"登录"按钮 ────POST请求───→ 验证用户名密码
↓ ↓
显示登录结果 ←────JSON响应──── 返回用户信息
❓ 常见问题
📖 小节
- PHP 是服务器端脚本语言,代码在服务器运行后返回 HTML 给浏览器
- 全球 78% 的网站使用 PHP(WordPress、Wikipedia 等)
- PHP 核心优势:即写即跑、天然嵌入 HTML、内置 Web 能力、5000+ 函数
- PHP 8.x 是现代 PHP,性能强大,特性丰富
- PHP 和 JavaScript 运行位置完全不同:一个服务器端,一个浏览器端
- 学完本教程可以独立搭建博客系统
📝 作业
- 打开一个你常用的网站,思考一下:这个网站的哪些部分是"动态"的(会根据用户/时间变化)?哪些是静态的?
- 搜索 "PHP 8 features" 了解最新版本有哪些新特性,选一个你觉得最酷的记下来。
- 搜索今天市面上用 PHP 开发的公司有哪些(国内和国外都可以),感受一下 PHP 的就业市场。