PHP 从入门到精通
全面、系统、深入的 PHP 教程,覆盖 PHP 8.0~8.4 所有核心知识与现代生态。
教程简介
本教程以 PHP 8.1+ 为基准版本,系统覆盖 PHP 编程语言的全部核心知识点和高级特性。内容参考 PHP 官方文档,结合丰富的实战示例,帮助开发者从零基础到高级应用全面掌握 PHP。
- 16 个学习阶段,循序渐进
- 457 个知识页面,深入详尽
- 350+ 完整代码示例,可直接运行
- 覆盖 PHP 8.0 ~ 8.4 最新特性
适合人群
- PHP 初学者:从零开始,系统学习
- 有经验的开发者:查漏补缺,深入了解高级特性
- 全栈工程师:掌握 PHP 生态与最佳实践
学习路线
基础篇:阶段 1 ~ 6
| 阶段 | 主题 | 页数 | 简介 |
|---|---|---|---|
| 1. 入门指引 | 环境搭建与工具 | 26 | PHP 简介、安装配置、Composer、开发工具 |
| 2. 基础语法 | 语法、变量、运算符 | 39 | 标签、变量、常量、表达式、运算符 |
| 3. 类型系统 | 标量/复合/特殊/高级类型 | 24 | 类型声明、联合/交集/DNF 类型、类型转换 |
| 4. 流程控制与函数 | 条件/循环/函数/闭包 | 36 | 控制结构、函数定义、闭包、输出缓冲 |
| 5. 面向对象编程 | OOP 全体系 | 58 | 类/继承/魔术方法/命名空间/枚举/接口 |
| 6. 错误与异常处理 | 错误/异常/调试 | 18 | 错误级别、异常层次、自定义异常 |
进阶篇:阶段 7 ~ 10
| 阶段 | 主题 | 页数 | 简介 |
|---|---|---|---|
| 7. 高级特性 | 引用/生成器/协程/反射 | 40 | 引用、Generator、Fiber、Attribute、反射、GC |
| 8. 字符串与数组 | 字符串/正则/数组/DS | 25 | 字符串操作、正则表达式、数组函数、DS 扩展 |
| 9. 文件与会话 | 文件/流/上传/会话 | 31 | 文件系统、上传下载、Stream、Session、CLI |
| 10. 数据库 | PDO/MySQL/Redis/MongoDB | 24 | PDO、MySQL 扩展、SQLite、Redis、MongoDB |
高级篇:阶段 11 ~ 16
| 阶段 | 主题 | 页数 | 简介 |
|---|---|---|---|
| 11. Web 开发与安全 | HTTP/表单/安全/API/模板 | 23 | HTTP 协议、安全编程、REST API、模板引擎 |
| 12. PHP 生态与框架 | Composer/PSR/框架/概念 | 21 | Composer 进阶、PSR 规范、框架对比、通用概念 |
| 13. 网络与扩展库 | cURL/XML/JSON/加密/图像 | 39 | 网络操作、XML/JSON、邮件、压缩、加密、日期、图像、国际化、数学 |
| 14. 搜索、缓存与消息队列 | ES/缓存/RabbitMQ/Kafka | 13 | Elasticsearch、Memcached、RabbitMQ、Kafka |
| 15. 性能与扩展 | OPcache/并发/测试/扩展 | 20 | OPcache/JIT、性能分析、Swoole、PHPUnit、FFI |
| 16. 最佳实践与部署 | 规范/架构/部署/新特性 | 20 | 编码规范、设计模式、Docker、CI/CD、PHP 8.x 新特性 |
PHP 版本特性速查
| 版本 | 发布时间 | 核心特性 |
|---|---|---|
| PHP 8.4 | 2024-11 | 属性钩子(Property Hooks)、不对称可见性、DOM 命名空间 |
| PHP 8.3 | 2023-11 | 类常量类型、json_validate()、#[Override] 属性 |
| PHP 8.2 | 2022-12 | readonly class、DNF 类型、敏感参数隐藏 |
| PHP 8.1 | 2021-11 | 枚举(Enum)、只读属性、Fiber、never 类型 |
| PHP 8.0 | 2020-11 | JIT 编译器、命名参数、联合类型、match、属性 |
版本说明
本教程以 PHP 8.1 为基准,新特性标注了最低版本要求(如 8.0+、8.2+、8.4+)。所有代码示例均使用 declare(strict_types=1) 严格模式。
快速开始
php
<?php
declare(strict_types=1);
// 你的第一个 PHP 脚本
function greet(string $name): string
{
return match (true) {
strtolower($name) === 'world' => "Hello, World! 🌍",
default => "Hello, {$name}!",
};
}
echo greet('PHP Developer');
// 输出: Hello, PHP Developer!准备好开始了吗?从 PHP 是什么 开始你的学习之旅!