解决什么问题:从写流水账到懂工程化的跨越

很多转岗或自学PHP的人,早期往往停留在写面向过程脚本的阶段:能写出增删改查,但代码全堆在一起,HTML和PHP逻辑互相穿插。一旦业务变复杂,改一个功能就牵连全身,根本没法维护。这门课就是来填这个坑的。它聚焦于PHP工程化必须跨过的三道坎:模板引擎、设计模式、MVC架构。如果你已经能熟练写面向过程代码,了解基础的面向对象语法,但面对"如何分离视图与逻辑"、"如何避免大量重复造轮子"、"如何把代码组织成可扩展的框架结构"这些概念时心里没底,那这季课程正是你需要补上的短板。它不教基础语法,默认你已经跨过了入门门槛。

建议先看哪几块:按依赖顺序推进

不要拿到资料就直奔最后的商城项目,那样容易卡壳。建议按底层机制到上层应用的顺序推进。第一块先啃模板引擎,重点理解变量分配、自定义函数和缓存机制,搞清楚模板编译到底干了什么,而不是死记调用语法。第二块是错误与异常处理,这部分篇幅不长但极关键,必须弄懂如何用异常拦截运行时错误,因为后面的框架底层和商城业务全靠这套机制兜底。第三块是设计模式与MVC,这是核心难点,建议结合单例、工厂等具体模式去推演控制器、模型、视图三者怎么协作。最后再进入在线商城项目,这时候你是在做整合演练,而不是在看天书。配套资料里的代码片段必须边看边敲,遇到自定义函数和变量调节器,自己改参数跑一遍看输出差异,别只盯着视频看个热闹。

学完能独立做什么:脱离脚手架搭项目

把这套东西吃透,你的能力边界会有实质性的变化。首先,你能脱离那种HTML和PHP混写的原始方式,用模板引擎把视图层彻底剥离,并且知道怎么用缓存机制降低数据库查询压力。其次,遇到别人写的MVC框架代码,你不再一头雾水,能看懂路由分发和分层调用的逻辑。最关键的是,学完最后的在线商城实战,你应该能独立从零搭建一个具备基础架构的项目骨架:自己定控制器基类、自己连数据层、自己套模板。不再依赖现成的脚手架去跑业务。配套练习时,重点把商城里的用户登录、购物车、订单流转这几个核心链路自己脱稿写一遍。如果写的过程中能下意识用上设计模式去解耦代码,遇到报错能靠异常处理模块定位问题,那这门课的缺口就算补上了。

课程目录

1-1 [Smarty模板引擎] 引擎介绍 (15:04)
1-2 [Smarty模板引擎] 使用Smarty (25:17)
1-3 [Smarty模板引擎] 分配变量 (30:21)
1-4 [Smarty模板引擎] 自定义函数[上] (23:17)
1-5 [Smarty模板引擎] 自定义函数[中] (19:37)
1-6 [Smarty模板引擎] 自定义函数[下] (23:09)
1-7 [Smarty模板引擎] 变量调节器 (31:31)
1-8 [Smarty模板引擎] 内置函数[上] (25:32)
1-9 [Smarty模板引擎] 内置函数[下] (31:59)
1-10 [Smarty模板引擎] 缓存机制 (28:53)
2-1 [错误与异常处理] 错误与异常处理[上] (23:00)
2-2 [错误与异常处理] 错误与异常处理[下] (23:17)
3-1 [使用PDO抽象层] 介绍与开启(1) (14:35)
3-2 [使用PDO抽象层] PDO链接数据库(2) (16:34)
3-3 [使用PDO抽象层] 数据库操作(3) (23:41)
3-4 [使用PDO抽象层] 准备语句及事务[上](4) (20:56)
3-5 [使用PDO抽象层] 准备语句及事务[下](5) (17:24)
4-1 [对象与设计] 面向对象及面向过程[上] (17:20)
4-2 [对象与设计] 职责、内聚、耦合[下] (29:15)
5-1 [UML基础] 用例图、类图、时序图 (21:47)
5-2 [UML基础] 泛化、实现、聚合、组合、依赖 (25:07)
6-1 [设计模式基础] 概念、核心 (16:08)
6-2 [设计模式基础] 策略模式[上] (19:03)
6-3 [设计模式基础] 策略模式[中] (35:13)
6-4 [设计模式基础] 策略模式[下] (37:59)
7-1 [生成对象] 实例化的思考 (18:31)
7-2 [生成对象] 单例模式[上] (20:00)
7-3 [生成对象] 单例模式[下] (21:01)
7-4 [生成对象] 简单工厂模式 (21:01)
7-5 [生成对象] 工厂方法模式 (12:53)
7-6 [生成对象] 抽象工厂模式 (29:52)
7-7 [生成对象] 原型模式 (26:07)
8-1 [敏捷的开发] 组合模式[上] (16:07)
8-2 [敏捷的开发] 组合模式[中] (21:22)
8-3 [敏捷的开发] 组合模式[中下] (13:12)
8-4 [敏捷的开发] 组合模式[下] (24:53)
8-5 [敏捷的开发] 装饰模式[上] (21:00)
8-6 [敏捷的开发] 装饰模式[下] (30:23)
8-7 [敏捷的开发] 外观模式 (12:13)
9-1 [执行及描述任务] 解释器模式 (22:42)
9-2 [执行及描述任务] 策略模式回顾 (12:21)
9-3 [执行及描述任务] 观察者模式[上] (18:21)
9-4 [执行及描述任务] 观察者模式[下] (23:36)
9-5 [执行及描述任务] 访问者模式 (21:37)
9-6 [执行及描述任务] 命令模式 (32:18)
10-1 [其他模式] 适配器模式 (22:59)
10-2 [其他模式] 建造者模式 (18:47)
10-3 [其他模式] 数据访问对象模式 (21:21)
10-4 [其他模式] 委托模式 (17:44)
10-5 [其他模式] 空对象和迭代器模式 (16:55)
10-6 [其他模式] 中介者模式 (29:04)
10-7 [其他模式] 代理模式及模版模式 (14:59)
11-1 [在线商城系统] 0.0-ShopEx介绍、安装与使用 (16:41)
11-2 [在线商城系统] 0.1-系统架构与MVC浅谈 (14:43)
11-3 [在线商城系统] 0.2-使用适配器单例架构Smarty (14:47)
11-4 [在线商城系统] 0.3-创建Action基类并实现单入口 (27:29)
11-5 [在线商城系统] 0.4-单例DB让Model继承 (15:50)
11-6 [在线商城系统] 0.5-创建后台首页框架[上] (22:14)
11-7 [在线商城系统] 0.5-创建后台首页框架[下] (15:09)
11-8 [在线商城系统] 0.6-后台首页框架导航功能 (14:09)
11-9 [在线商城系统] 0.7-配置参数及设置模版目录 (19:32)
11-10 [在线商城系统] 0.8-创建管理员表及页面 (21:44)
11-11 [在线商城系统] 0.9-新增管理员 (26:10)
11-12 [在线商城系统] 1.0-请求类工具类及拼装SQL[上] (24:49)
11-13 [在线商城系统] 1.0-请求类工具类及拼装SQL[下] (13:51)
11-14 [在线商城系统] 1.1-表单提交字符转义 (17:55)
11-15 [在线商城系统] 1.2-创建服务器端表单验证模块层 (23:01)
11-16 [在线商城系统] 1.3-验证数据及错误页功能 (22:03)
11-17 [在线商城系统] 1.4-验证数据库信息 (24:00)
11-18 [在线商城系统] 1.5-使用客户端验证所有数据 (23:25)
11-19 [在线商城系统] 1.6-实现跳转类重定向 (27:17)
11-20 [在线商城系统] 1.7-显示所有数据 (21:38)
11-21 [在线商城系统] 1.8-实现数据分页 (27:48)
11-22 [在线商城系统] 1.9-删除一条数据 (28:17)
11-23 [在线商城系统] 2.0-获取一条数据 (25:57)
11-24 [在线商城系统] 2.1-修改一条数据 (24:31)
11-25 [在线商城系统] 2.2-第一模块架构流程图 (19:39)
11-26 [在线商城系统] 2.2-在管理员模块载入等级模块 (27:37)
11-27 [在线商城系统] 2.3-拼装双表查询 (23:31)
11-28 [在线商城系统] 2.4-创建第二模块导航条[上] (26:23)
11-29 [在线商城系统] 2.4-创建第二模块导航条[中] (27:13)
11-30 [在线商城系统] 2.4-创建第二模块导[中下] (13:54)
11-31 [在线商城系统] 2.4-创建第二模块导航条[下] (21:12)
11-32 [在线商城系统] 2.5-登录模块[上] (23:22)
11-33 [在线商城系统] 2.5-登录模块[中] (18:11)
11-34 [在线商城系统] 2.5-登录模块[中下] (17:02)
11-35 [在线商城系统] 2.5-登录模块[下] (25:03)
11-36 [在线商城系统] 2.6-进一步构建SQL提升[上] (23:56)
11-37 [在线商城系统] 2.6-进一步构建SQL提升[中] (28:36)
11-38 [在线商城系统] 2.6-进一步构建SQL提[中下] (23:54)
11-39 [在线商城系统] 2.6-进一步构建SQL提升[下] (19:48)
11-40 [在线商城系统] 2.7-进一步优化职责提高 (31:25)
11-41 [在线商城系统] 2.8-前台显示导航 (19:16)
11-42 [在线商城系统] 2.9-导航位置及分类[上] (21:10)
11-43 [在线商城系统] 2.9-导航位置及分类[中] (27:24)
11-44 [在线商城系统] 2.9-导航位置及分类[下] (17:10)
11-45 [在线商城系统] 3.0-制作列表页和详情页[上] (31:29)
11-46 [在线商城系统] 3.0-制作列表页和详情页[下] (27:27)
11-47 [在线商城系统] 3.1-展示全部分类 (21:19)
11-48 [在线商城系统] 3.2-品牌模块[上] (25:52)
11-49 [在线商城系统] 3.2-品牌模块[下] (09:36)
11-50 [在线商城系统] 3.3-商品类型关联品牌[上] (23:11)
11-51 [在线商城系统] 3.3-商品类型关联品牌[下] (38:22)
11-52 [在线商城系统] 3.4-引入ck编辑器及上传 (29:03)
11-53 [在线商城系统] 3.5-商品模块[上] (24:01)
11-54 [在线商城系统] 3.5-商品模块[中] (25:52)
11-55 [在线商城系统] 3.5-商品模块[中下] (20:17)
11-56 [在线商城系统] 3.5-商品模块[下] (23:06)
11-57 [在线商城系统] 3.5-商品模块[下下] (16:07)
11-58 [在线商城系统] 3.6-展示商品列表[上] (21:47)
11-59 [在线商城系统] 3.6-展示商品列表[下] (26:59)
11-60 [在线商城系统] 3.7-展示商品详情 (31:21)
11-61 [在线商城系统] 3.8-自定义属性[上] (25:21)
11-62 [在线商城系统] 3.8-自定义属性[中上] (26:38)
11-63 [在线商城系统] 3.8-自定义属性[中] (27:24)
11-64 [在线商城系统] 3.8-自定义属性[中下] (22:08)
11-65 [在线商城系统] 3.8-自定义属性[下] (17:03)
11-66 [在线商城系统] 3.9-商品详情加载属性 (24:53)
11-67 [在线商城系统] 4.0-价格区间[上] (23:36)
11-68 [在线商城系统] 4.0-价格区间[中] (21:35)
11-69 [在线商城系统] 4.0-价格区间[下] (22:35)
11-70 [在线商城系统] 4.1-品牌及属性筛选[上] (38:38)
11-71 [在线商城系统] 4.1-品牌及属性筛选[下] (23:19)
11-72 [在线商城系统] 4.2-会员模块[上] (27:55)
11-73 [在线商城系统] 4.2-会员模块[下] (17:52)
11-74 [在线商城系统] 4.3-购物车[上] (18:48)
11-75 [在线商城系统] 4.3-购物车[中] (24:40)
11-76 [在线商城系统] 4.3-购物车[下] (29:33)
11-77 [在线商城系统] 4.4-结算[上] (24:17)
11-78 [在线商城系统] 4.4-结算[下] (19:48)
11-79 [在线商城系统] 4.5-提交订单 (23:16)
11-80 [在线商城系统] 4.6-个人中心-收货人[上] (30:46)
11-81 [在线商城系统] 4.6-个人中心-收货人[下] (18:30)
11-82 [在线商城系统] 4.7-个人中心-订单列表[上] (36:25)
11-83 [在线商城系统] 4.7-个人中心-订单列表[下] (27:26)
11-84 [在线商城系统] 4.8-支付宝在线支付[上] (26:52)
11-85 [在线商城系统] 4.8-支付宝在线支付[下] (28:59)
11-86 [在线商城系统] 4.9-解决四个已知的BUG (19:25)
11-87 [在线商城系统] 5.0-下单跳转及分享至 (33:31)
11-88 [在线商城系统] 5.1-填充商品详情 (18:51)
11-89 [在线商城系统] 5.2-售后服务[上] (31:57)
11-90 [在线商城系统] 5.2-售后服务[中] (16:55)
11-91 [在线商城系统] 5.2-售后服务[下] (21:32)
11-92 [在线商城系统] 5.3-下架和超量处理 (22:13)
11-93 [在线商城系统] 5.4-商品数量消减和回滚[上] (23:18)
11-94 [在线商城系统] 5.4-商品数量消减和回滚[下] (25:47)
11-95 [在线商城系统] 5.5-用户端订单处理 (21:05)
11-96 [在线商城系统] 5.6-物流配送[上] (22:04)
11-97 [在线商城系统] 5.6-物流配送[下] (22:58)
11-98 [在线商城系统] 5.7-申请退款 (22:54)
11-99 [在线商城系统] 5.8-解决几个订单BUG (21:49)
11-100 [在线商城系统] 5.9-计算运费[上] (16:34)
11-101 [在线商城系统] 5.9-计算运费[下] (23:33)
11-102 [在线商城系统] 6.0-支付跳转 (15:41)
11-103 [在线商城系统] 6.1-商品评价[上] (35:54)
11-104 [在线商城系统] 6.1-商品评价[中] (20:52)
11-105 [在线商城系统] 6.1-商品评价[下] (18:48)
11-106 [在线商城系统] 6.2-回复处理评价[上] (33:35)
11-107 [在线商城系统] 6.2-回复处理评价[下] (28:25)
11-108 [在线商城系统] 6.3-成交记录 (33:45)
11-109 [在线商城系统] 6.4-类别商品数量 (19:34)
11-110 [在线商城系统] 6.5-浏览记录 (24:31)
11-111 [在线商城系统] 6.6-列表评论和销量排行 (30:44)
11-112 [在线商城系统] 6.7-商品对比[上] (25:36)
11-113 [在线商城系统] 6.7-商品对比[下] (20:52)
11-114 [在线商城系统] 6.8-收藏商品 (26:30)
11-115 [在线商城系统] 6.9-前台首页填充[上] (21:33)
11-116 [在线商城系统] 7.0-后台首页填充[下] (24:56)
11-117 [在线商城系统] 7.1-模版编辑器[上] (24:18)
11-118 [在线商城系统] 7.1-模版编辑器[下] (28:44)
11-119 [在线商城系统] 7.2-图片管理器 (27:02)
11-120 [在线商城系统] 7.3-伪静态 (26:14)