TP6.0从0到1构建高并发电商服务系统
本课程除了对TP6.0基础和电商逻辑整体开发进行讲解,还包含了企业级通用解决方案,如:消息队列、Redis集群、分布式session解决方案、支付模块服务化、分布式锁、限流、容灾、服务降级、商品抢购、排队机制等高级的内容。
适合人群
1.有技术语法基础,缺少完整项目开发经验
为找工作增加经验而学习
2.工作2-5年开发者
3.对高并发电商感兴趣的小伙伴
技术储备要求
有php框架使用经验即可
熟悉redis基本使用
熟悉linux基本命令
熟悉MySQL
[wm_tips]试看链接:https://pan.baidu.com/s/1-0Tvco80-QUKeC2MfCGiZQ
提取码:u37x
[/wm_tips]
章节目录
-
第1章 课程简介【PHP行情分析】 试看4 节 | 39分钟
本章主要讲解本课程的主线, 导学内容,PHP行情分析等让同学们对当前PHP发展充满信心等,同时还分析了企业级开发流程以及规范说明,让同学们对中大型公司的敏捷开发有一个初步认知。
收起列表
- 视频:1-1 课程介绍 (15:25)试看
- 视频:1-2 php行情分析 (09:35)
- 视频:1-3 企业级开发流程和规范说明 (08:45)试看
- 视频:1-4 如何较好学习本套课程以及课程答疑指南 (04:45)
-
第2章 环境及框架准备【必备基础】 试看4 节 | 55分钟
本章主要讲解环境的安装,通过composer获取TP6源码,nginx的配置等工作,环境是我们一切学习的根源,造起来。
收起列表
- 视频:2-1 基础环境安装 (16:15)
- 视频:2-2 Tp6框架源码获取(composer) (12:18)试看
- 视频:2-3 Nginx和PHP如何配合工作 (17:47)
- 视频:2-4 如何高效的管理nginx配置文件 (08:35)
-
第3章 TP6基础知识【新框架】13 节 | 95分钟
本章主要讲解了TP5/TP6异同之处,基础的控制器层、模型层的使用,杜绝无效请求让代码更加健壮,数据库层问题排查解决方案,这些内容都是为后续电商实战做完美铺垫。
收起列表
- 视频:3-1 TP5和TP6异同之处 (07:29)
- 视频:3-2 小白成长记 – 控制器巧用 (06:31)
- 视频:3-3 控制器巧用2-控制器request属性绑定request对象 (07:13)
- 视频:3-4 控制器巧用3-参数获取您知道TP有哪些方式吗? (09:11)
- 视频:3-5 健壮系统服务-杜绝无效请求 (09:32)
- 视频:3-6 简单事情极致化-通用化API数据格式数据 (07:03)
- 视频:3-7 简单事情并不简单 – 通用化API数据格式数据优化 (06:51)
- 视频:3-8 框架操作数据库-db库基础认知 (08:35)
- 视频:3-9 数据库操作-db 查询方式讲解 (07:54)
- 视频:3-10 数据库操作-非常适用的问题排查方案 (03:52)
- 视频:3-11 数据库操作-db其他操作场景 (07:28)
- 视频:3-12 模型初始 (04:29)
- 视频:3-13 模型查询其他使用讲解 (08:32)
-
第4章 玩转高逼格框架服务【代码高度解耦】10 节 | 70分钟
本章先讲解TP6的多应用模式,在多应用模式下很多初学者会遇到很多坑,课程都有提及,再讲解5层架构建设让系统能够做到代码高度解耦,多复用等能力。并且还讲解了不可预知的内部异常处理、中间件等,关于服务,事件内容会在实战课程中渗透。…
收起列表
- 视频:4-1 多应用模式 (04:37)
- 视频:4-2 多应用模式下路由规则容易犯的错误 (03:27)
- 视频:4-3 架构分层-初学者最容易犯的错误 (13:27)
- 视频:4-4 代码分层-模型内容抽离 (05:15)
- 视频:4-5 基础架构分层思想-5层架构- (07:50)
- 视频:4-6 基础架构分层实战 (08:28)
- 视频:4-7 不可预知得内部异常处理1 (05:22)
- 视频:4-8 不可预知得内部异常处理2 (06:03)
- 视频:4-9 不可预知得内部异常处理3 (04:26)
- 视频:4-10 玩转中间件处理 (10:54)
-
第5章 商城项目需求整体分析以及前期准备工作4 节 | 22分钟
本章主要讲解电商项目竞品分析,然后从中挖掘出我们商城的需求场景, 项目设计图展示,系统功能说明,以及核心技术点、TP知识点梳理。
收起列表
- 视频:5-1 电商需求梳理和分析 (05:09)
- 视频:5-2 需求分析-设计图 (03:43)
- 视频:5-3 需求分析-项目功能点输出 (05:13)
- 视频:5-4 需求分析 – 系统核心技术点梳理和分析 (07:22)
-
第6章 用户后台管理模块16 节 | 182分钟
本章主要讲解后端登录模块的开发,后台用户登录数据更新、session处理、按base方式处理登录流等,让大家能开发出后台登录模块。
收起列表
- 视频:6-1 本章功能分析 (07:34)
- 视频:6-2 后端页面部署到项目服务器中 (04:59)
- 视频:6-3 登录页面配合模板引擎使用 (08:24)
- 视频:6-4 后端用户表设计 (06:23)
- 视频:6-5 TP6内置验证码引入到登录页面中 (09:00)
- 视频:6-6 如何处理自定义验证码 (06:15)
- 视频:6-7 后端登录-ajax方式登录 (10:04)
- 视频:6-8 ajax登录-基本参数校验(普通方式校验) (11:37)
- 视频:6-9 后端用户登录API逻辑开发 (17:05)
- 视频:6-10 后台用户登录-数据更新和session处理 (12:48)
- 视频:6-11 你确定你知道了登录的流程走势 (11:50)
- 视频:6-12 按base方式处理登录流 (19:13)
- 视频:6-13 利用后置中间件处理登录流-拦截器 (13:46)
- 视频:6-14 利用前置中间件处理登录流-拦截器 (07:58)
- 视频:6-15 登录优化 – 引入validate验证机制 (14:20)
- 视频:6-16 登录优化- 控制器业务代码抽离到business层(最新) (19:46)
-
第7章 商城前端登录模块开发22 节 | 253分钟
本章主要开发商城前端登录, 商城前端登录采用的是手机号+验证码方式进行登录,利用redis来做验证码失效时间,并且采用token+redis来处理通用化登录解决方案,它能适用于各种终端。在本章中还会教大家如何编写接口文档,如何和前后端联调开发等。…
收起列表
- 视频:7-1 商城前端用户模块开发准备工作的介绍 (06:32)
- 视频:7-2 商城前端用户表设计 (07:40)
- 视频:7-3 阿里云短信介绍以及sdk获取 (12:07)
- 视频:7-4 lib库下发送短信验证码类库封装 (18:33)
- 视频:7-5 发送短信验证码API逻辑编写以及布置的作业 (14:59)
- 视频:7-6 短信验证码记录到redis中 (12:59)
- 视频:7-7 剔除common公共方法思想以及新思想引入做到代码高度可维护和管理 (07:53)
- 视频:7-8 日志是问题定位的关键 (08:55)
- 视频:7-9 如何根据日志来分析当前qps高点和低点 (09:31)
- 视频:7-10 短信验证码lib层优化-引入工厂模式 (14:15)
- 视频:7-11 代码高度优化-利用反射机制处理工厂模式做到真正的高大上思想 (15:19)
- 视频:7-12 关于短信验证码预留的2个作业 (03:23)
- 视频:7-13 前端用户登录逻辑开发(一) (14:01)
- 视频:7-14 前端用户登录逻辑开发(二) (12:15)
- 视频:7-15 前端用户登录逻辑开发-基于redis+token (12:46)
- 视频:7-16 token登录需要注意的点以及登录代码优化 (06:32)
- 视频:7-17 利用authbase处理登录拦截器 (17:52)
- 视频:7-18 获取登录用户基本信息数据 (09:58)
- 视频:7-19 个人中心数据修改以及预留的作业 (11:42)
- 视频:7-20 退出登录 (04:32)
- 视频:7-21 代码第一次入代码仓库 (13:19)
- 视频:7-22 前后端整体联调测试 (17:05)
-
第8章 分类管理14 节 | 198分钟
本章先讲解后端的分类管理、以及商城前端分类展示,分类我们支持无限极分类,在后端的分类管理中,我们还有分类列表、搜索、排序、修改状态、删除等通用操作能力建设。
收起列表
- 视频:8-1 电商系统分类表设计 (03:49)
- 视频:8-2 分类管理页面部署以及常见的问题解刨 (16:55)
- 视频:8-3 新增分类 (19:16)
- 视频:8-4 添加分类优化-如何较好的选择普通索引和唯一索引 (07:40)
- 视频:8-5 新增分类优化以及需要注意的事项 (17:47)
- 视频:8-6 分类列表页开发(最新) (16:21)
- 视频:8-7 利用TP6提供的分页结构处理分类分页 (16:05)
- 视频:8-8 分页优化-引入laypage_001 (08:34)
- 视频:8-9 后端排序功能开发以及之前代码优化工作 (16:01)
- 视频:8-10 修改状态以及删除功能开发 (14:16)
- 视频:8-11 列表优化-增加分类下子分类条目 (17:19)
- 视频:8-12 本章作业 (05:07)
- 视频:8-13 商城前端分类API开发-支持无限极分类 (30:32)
- 视频:8-14 商城前端分类API逻辑优化工作 (07:46)
-
第9章 商品后台模块开发16 节 | 176分钟
本章先讲解后端商品模块的增删改查操作,sku设计,图片上传、支持多图上传,商品列表等。
收起列表
- 视频:9-1 本章课程介绍 (10:18)
- 视频:9-2 商品规格,规格属性,sku概念介绍 (06:05)
- 视频:9-3 表结构设计 (14:14)
- 视频:9-4 商品后台模板导入到项目中 (06:13)
- 视频:9-5 新增商品前置操作 – 分类数据交互处理 (09:43)
- 视频:9-6 新增商品前置操作 – 规格以及规格属性数据处理 (13:01)
- 视频:9-7 代码优化 (04:27)
- 视频:9-8 利用TP6处理图片上传 (20:39)
- 视频:9-9 基于layedit编辑器的图片上传 (04:59)
- 视频:9-10 商品信息添加需要明确的流程 (05:29)
- 视频:9-11 商品基本信息以及sku信息入库 (27:39)
- 视频:9-12 代码优化 (06:42)
- 视频:9-13 事务处理 (13:46)
- 视频:9-14 防止csrf攻击 (07:33)
- 视频:9-15 商品列表页开发以及代码优化 (14:19)
- 视频:9-16 利用TP6的搜索器withSearch检索商品信息 (10:46)
-
第10章 商品前端模块开发11 节 | 167分钟
本章讲解了电商首页、列表页面、商品详情页, sku数据组装,商品一对一关联查询,代码优化,利用redis统计商品PV等开发。
收起列表
- 视频:10-1 本章功能介绍 (08:05)
- 视频:10-2 商品详情页面ID是商品的主键ID还是sku表的主键ID? (10:16)
- 视频:10-3 商品首页大图推荐API逻辑开发以及联调 (21:59)
- 视频:10-4 代码优化-回顾头来再看看之前代码你会发现是一件非常有趣的事情 (04:33)
- 视频:10-5 商城首页分类下商品推荐API开发 (18:41)
- 视频:10-6 商品列表页API开发 (19:47)
- 视频:10-7 商品详情页功能点详细分析 (09:01)
- 视频:10-8 商品详情页API开发-TP6的一对一关联查询技巧 (18:06)
- 视频:10-9 商品详情API开发- 规格数据获取以及数据组装 (21:53)
- 视频:10-10 商品详情页面API开发 – sku数据组装处理 (26:12)
- 视频:10-11 利用redis统计商品PV….. (08:12)
-
第11章 利用redis打造高性能购物车模块8 节 | 100分钟
本章利用redis处理购物车模块, 并且解决购物车列表hash无序问题。
收起列表
- 视频:11-1 利用redis的hash操作打造高性能的商城购物车 (16:07)
- 视频:11-2 redis的hset处理加入购物车就是这么任性 (18:06)
- 视频:11-3 redis加入购物车代码优化 (03:41)
- 视频:11-4 利用hgetall获取购物车列表(上) (13:52)
- 视频:11-5 利用hgetall获取购物车列表(下) (13:35)
- 视频:11-6 利用redis hash处理购物车删除,修改购物车数量 (12:30)
- 视频:11-7 完美解决redis hash购物车列表无序问题。 (11:28)
- 视频:11-8 登录用户初始化API-获取购物车数量 (10:28)
-
第12章 核心模块-订单模块开发11 节 | 148分钟
本章讲解了分布式发号器生成全局唯一性订单ID,订单的处理,利用消息队列处理失效订单等工作。
收起列表
- 视频:12-1 订单整体流程介绍 (05:33)
- 视频:12-2 订单模块一对多数据表设计 (08:56)
- 视频:12-3 利用redis的hMget处理订单确认页面API (15:13)
- 视频:12-4 分布式发号器生成全局唯一的订单ID (14:04)
- 视频:12-5 提交订单 – 从redis获取数据进行判断 (22:42)
- 视频:12-6 利用MySQL事务创建订单-支持减库存操作(上) (13:59)
- 视频:12-7 利用MySQL事务创建订单-支持减库存操作 (14:17)
- 视频:12-8 订单创建完毕之后需要删除购物车-利用redis-hdel实现批量删除操作 (11:07)
- 视频:12-9 获取订单详情API (10:57)
- 视频:12-10 利用高性能的redis延迟队列处理无效订单(上) (15:49)
- 视频:12-11 利用高性能的redis延迟队列处理无效订单(下) (15:12)
-
第13章 支付服务化 – 将支付模块单独抽离支付服务(pay.singwa666.com)9 节 | 120分钟
为了解决项目高度解耦,本课程将支付模块单独抽离出来,单独弄成一个独立的服务, 后续商城模块、活动模块等的支付场景都可以直接对接独立的支付服务,很方便。并且这块也是为了后续能支撑高并发的商城做铺垫。
收起列表
- 视频:13-1 支付系统服务化简单介绍 (06:47)
- 视频:13-2 微信支付介绍 (03:41)
- 视频:13-3 支付服务化前期准备以及测试支付demo (11:25)
- 视频:13-4 支付系统整体架构设计 (15:36)
- 视频:13-5 打造能适配TP6的支付sdk (11:34)
- 视频:13-6 支付系统鉴权-安全加固- (21:29)
- 视频:13-7 支付系统-下单API开发.. (18:23)
- 视频:13-8 微信支付回调代码解刨以及预留的作业 (24:00)
- 视频:13-9 支付系统-订单查询逻辑开发 (06:36)
-
第14章 打造高并发抢购商品服务(持续更新中)16 节 | 206分钟
本章会涵盖并发场景的很多知识点,已商品抢购为具体场景, 里面包含负载均衡,消息队列、redis集群、分布式锁、分布式session解决方案,限流,容灾、服务降级、系统评估、压力测试、排队机制、反作弊场景、性能优化等高级内容。…
收起列表
- 视频:14-1 本章整体介绍以及注意事项 (11:09)
- 视频:14-2 大型网站架构分析 (17:05)
- 视频:14-3 nginx负载均衡技术精讲(上) (12:39)
- 视频:14-4 nginx负载均衡技术精讲(下) (10:58)
- 视频:14-5 nginx负载均衡注意事项 (12:11)
- 视频:14-6 大流量下前端页面静态化处理提升服务整体qps (16:34)
- 视频:14-7 mysql集群解刨 (21:29)
- 视频:14-8 分布式缓存-redis集群架构精讲(主从,哨兵,集群) (09:48)
- 视频:14-9 分布式session (05:11)
- 视频:14-10 kafka集群 (15:23)
- 视频:14-11 服务压力测试以及服务评估 (13:36)
- 视频:14-12 服务限流-php+redis方案 (08:18)
- 视频:14-13 服务限流-nginx+lua+redis高性能方案 (09:33)
- 视频:14-14 服务降级和熔断 (18:22)
- 视频:14-15 商品抢购 (16:49)
- 视频:14-16 商品抢购-杜绝黑产 薅羊毛分析 – 反作弊分析和挖掘 (06:12)