为什么你要手写一个 PHP 框架?

很多开发者面试时能熟练调用 Laravel 或 ThinkPHP 的方法,却说不清路由是怎么匹配的、控制器是如何被调度的。这门课的核心价值在于:不教你怎么用现成框架,而是从零开始构建一个小型 PHP MVC 框架。你需要理解 PHP 自动加载机制、单入口设计模式、前后中间件的执行顺序,以及 Controller、Model、View 各层的职责划分。

这套知识对以下人群特别重要:正在准备后端开发面试的同学、对现有框架底层原理感到困惑的转岗学习者、以及希望提升代码架构能力的 PHP 开发者。如果你只会在现成框架里 CRUD,这门课会帮你打通"知其然更知其所以然"的关键一环。

建议的学习路径与练习配合

课程结构从基础到进阶,建议按以下顺序掌握:

先完整学习目录 1-4 节,这是理解整个框架骨架的基础。你会亲手编写单入口文件 index.php,配置 Composer 自动加载,并实现最核心的路由分发和控制器逻辑。这部分内容占比较大,需要反复调试才能理解请求从到达服务器到返回响应的完整链路。

接着深入中间件机制(第 5 节),这是现代框架设计的重要特征,理解 before 和 after 钩子的应用场景。随后进入数据层,第 9-11 节覆盖 MySQL 连接封装和完整的模型 CRUD 操作,这是框架最实用的部分。第 12-13 节介绍 Redis 和 Memcache 的集成,了解如何在框架中合理使用缓存层。

最后的命令行运行(第 14 节)展示了框架脱离 Web 环境的能力,适合学习后台任务调度场景。配套的资料包提供了完整的代码示例,建议边看边写,不要只看不练。每个模块结束后,尝试修改代码功能,比如更换数据库驱动或调整路由规则,这是检验理解程度的最好方式。

学完你能独立做什么

完成本课程后,你将具备以下能力:能够设计并实现一个基于 MVC 模式的 PHP 应用框架;理解并应用自动加载、单入口、中间件等核心设计模式;独立完成数据库连接封装和模型层 CRUD 操作;掌握 Redis 和 Memcache 在框架中的集成方法;具备阅读和二次开发主流 PHP 框架代码的基础。

更重要的是,你会建立起完整的框架思维——知道如何组织代码结构、如何设计分层架构、如何处理请求生命周期。这些能力不仅适用于 PHP,对于学习其他语言框架设计同样具有迁移价值。当你在实际工作中遇到框架层面的问题,或者需要自定义某些框架行为时,这门课打下的基础会让你有足够的底气去理解和解决。

课程目录

1 框架目录结构简单介绍 (11:48)
2 框架单入口文件(index.php) (16:35)
3 PHP自动加载类介绍 (10:31)
4 框架控制器编写(Controllers) (33:25)
5 控制器before、after和控制器中间件介绍 (17:46)
6 框架视图模块编写(View) (17:37)
7 框架错误日志模块设计(Log) (33:25)
8 封装框架POST、GET类 (17:00)
9 框架连接Mysq (19:40)
10 框架模型模块(Model)之查 (22:51)
11 框架模型模块(Model)之增、改、删 (35:42)
12 框架Nosql之Memcache应用 (22:14)
13 框架Nosql之Redis应用 (08:51)
14 命令行模式下运行框架 (13:48)