ThinkPHP6 从0到1完整构建高并发电商服务系统

本课程除了对TP6.0基础和电商逻辑整体开发进行讲解,还包含了企业级通用解决方案,如:消息队列、redis集群、分布式session解决方案、支付模块服务化、分布式锁、限流、容灾、服务降级、商品抢购、排队机制等高级的内容。整个课程手把手带你体验从需求分析、项目开发、系统优化、服务评估、再到项目部署上线的全流程。


  • 第1章 课程简介【PHP行情分析】

    本章主要讲解本课程的主线, 导学内容,PHP行情分析等让同学们对当前PHP发展充满信心等,同时还分析了企业级开发流程以及规范说明,让同学们对中大型公司的敏捷开发有一个初步认知。

    •  1-1 课程介绍试看

    •  1-2 php行情分析

    •  1-3 企业级开发流程和规范说明试看

    •  1-4 如何较好学习本套课程以及课程答疑指南


  • 第2章 环境及框架准备【必备基础】

    本章主要讲解环境的安装,通过composer获取TP6源码,nginx的配置等工作,环境是我们一切学习的根源,造起来。

    •  2-1 基础环境安装

    •  2-2 Tp6框架源码获取(composer)试看

    •  2-3 Nginx和PHP如何配合工作

    •  2-4 如何高效的管理nginx配置文件


  • 第3章 TP6基础知识【新框架】

    本章主要讲解了TP5/TP6异同之处,基础的控制器层、模型层的使用,杜绝无效请求让代码更加健壮,数据库层问题排查解决方案,这些内容都是为后续电商实战做完美铺垫。

    •  3-1 TP5和TP6异同之处

    •  3-2 小白成长记 - 控制器巧用

    •  3-3 控制器巧用2-控制器request属性绑定request对象

    •  3-4 控制器巧用3-参数获取您知道TP有哪些方式吗?

    •  3-5 健壮系统服务-杜绝无效请求

    •  3-6 简单事情极致化-通用化API数据格式数据

    •  3-7 简单事情并不简单 - 通用化API数据格式数据优化

    •  3-8 框架操作数据库-db库基础认知

    •  3-9 数据库操作-db 查询方式讲解

    •  3-10 数据库操作-非常适用的问题排查方案

    •  3-11 数据库操作-db其他操作场景

    •  3-12 模型初始

    •  3-13 模型查询其他使用讲解


  • 第4章 玩转高逼格框架服务【代码高度解耦】

    本章先讲解TP6的多应用模式,在多应用模式下很多初学者会遇到很多坑,课程都有提及,再讲解5层架构建设让系统能够做到代码高度解耦,多复用等能力。并且还讲解了不可预知的内部异常处理、中间件等,关于服务,事件内容会在实战课程中渗透。...

    •  4-1 多应用模式

    •  4-2 多应用模式下路由规则容易犯的错误

    •  4-3 架构分层-初学者最容易犯的错误

    •  4-4 代码分层-模型内容抽离

    •  4-5 基础架构分层思想-5层架构-

    •  4-6 基础架构分层实战

    •  4-7 不可预知得内部异常处理1

    •  4-8 不可预知得内部异常处理2

    •  4-9 不可预知得内部异常处理3

    •  4-10 玩转中间件处理


  • 第5章 商城项目需求整体分析以及前期准备工作

    本章主要讲解电商项目竞品分析,然后从中挖掘出我们商城的需求场景, 项目设计图展示,系统功能说明,以及核心技术点、TP知识点梳理。

    •  5-1 电商需求梳理和分析

    •  5-2 需求分析-设计图

    •  5-3 需求分析-项目功能点输出

    •  5-4 需求分析 - 系统核心技术点梳理和分析


  • 第6章 用户后台管理模块

    本章主要讲解后端登录模块的开发,后台用户登录数据更新、session处理、按base方式处理登录流等,让大家能开发出后台登录模块。

    •  6-1 本章功能分析

    •  6-2 后端页面部署到项目服务器中

    •  6-3 登录页面配合模板引擎使用

    •  6-4 后端用户表设计

    •  6-5 TP6内置验证码引入到登录页面中

    •  6-6 如何处理自定义验证码

    •  6-7 后端登录-ajax方式登录

    •  6-8 ajax登录-基本参数校验(普通方式校验)

    •  6-9 后端用户登录API逻辑开发

    •  6-10 后台用户登录-数据更新和session处理

    •  6-11 你确定你知道了登录的流程走势

    •  6-12 按base方式处理登录流

    •  6-13 利用后置中间件处理登录流-拦截器

    •  6-14 利用前置中间件处理登录流-拦截器

    •  6-15 登录优化 - 引入validate验证机制

    •  6-16 登录优化- 控制器业务代码抽离到business层(最新)


  • 第7章 商城前端登录模块开发

    本章主要开发商城前端登录, 商城前端登录采用的是手机号+验证码方式进行登录,利用redis来做验证码失效时间,并且采用token+redis来处理通用化登录解决方案,它能适用于各种终端。在本章中还会教大家如何编写接口文档,如何和前后端联调开发等。...

    •  7-1 商城前端用户模块开发准备工作的介绍

    •  7-2 商城前端用户表设计

    •  7-3 阿里云短信介绍以及sdk获取

    •  7-4 lib库下发送短信验证码类库封装

    •  7-5 发送短信验证码API逻辑编写以及布置的作业

    •  7-6 短信验证码记录到redis中

    •  7-7 剔除common公共方法思想以及新思想引入做到代码高度可维护和管理

    •  7-8 日志是问题定位的关键

    •  7-9 如何根据日志来分析当前qps高点和低点

    •  7-10 短信验证码lib层优化-引入工厂模式

    •  7-11 代码高度优化-利用反射机制处理工厂模式做到真正的高大上思想

    •  7-12 关于短信验证码预留的2个作业

    •  7-13 前端用户登录逻辑开发(一)

    •  7-14 前端用户登录逻辑开发(二)

    •  7-15 前端用户登录逻辑开发-基于redis+token

    •  7-16 token登录需要注意的点以及登录代码优化

    •  7-17 利用authbase处理登录拦截器

    •  7-18 获取登录用户基本信息数据

    •  7-19 个人中心数据修改以及预留的作业

    •  7-20 退出登录

    •  7-21 代码第一次入代码仓库

    •  7-22 前后端整体联调测试


  • 第8章 分类管理

    本章先讲解后端的分类管理、以及商城前端分类展示,分类我们支持无限极分类,在后端的分类管理中,我们还有分类列表、搜索、排序、修改状态、删除等通用操作能力建设。

    •  8-1 电商系统分类表设计

    •  8-2 分类管理页面部署以及常见的问题解刨

    •  8-3 新增分类

    •  8-4 添加分类优化-如何较好的选择普通索引和唯一索引

    •  8-5 新增分类优化以及需要注意的事项

    •  8-6 分类列表页开发(最新)

    •  8-7 利用TP6提供的分页结构处理分类分页

    •  8-8 分页优化-引入laypage_001

    •  8-9 后端排序功能开发以及之前代码优化工作

    •  8-10 修改状态以及删除功能开发

    •  8-11 列表优化-增加分类下子分类条目

    •  8-12 本章作业

    •  8-13 商城前端分类API开发-支持无限极分类

    •  8-14 商城前端分类API逻辑优化工作


  • 第9章 商品后台模块开发

    本章先讲解后端商品模块的增删改查操作,sku设计,图片上传、支持多图上传,商品列表等。

    •  9-1 本章课程介绍

    •  9-2 商品规格,规格属性,sku概念介绍

    •  9-3 表结构设计

    •  9-4 商品后台模板导入到项目中

    •  9-5 新增商品前置操作 - 分类数据交互处理

    •  9-6 新增商品前置操作 - 规格以及规格属性数据处理

    •  9-7 代码优化

    •  9-8 利用TP6处理图片上传

    •  9-9 基于layedit编辑器的图片上传

    •  9-10 商品信息添加需要明确的流程

    •  9-11 商品基本信息以及sku信息入库

    •  9-12 代码优化

    •  9-13 事务处理

    •  9-14 防止csrf攻击

    •  9-15 商品列表页开发以及代码优化

    •  9-16 利用TP6的搜索器withSearch检索商品信息


  • 第10章 商品前端模块开发

    本章讲解了电商首页、列表页面、商品详情页, sku数据组装,商品一对一关联查询,代码优化,利用redis统计商品PV等开发。

    •  10-1 本章功能介绍

    •  10-2 商品详情页面ID是商品的主键ID还是sku表的主键ID?

    •  10-3 商品首页大图推荐API逻辑开发以及联调

    •  10-4 代码优化-回顾头来再看看之前代码你会发现是一件非常有趣的事情

    •  10-5 商城首页分类下商品推荐API开发

    •  10-6 商品列表页API开发

    •  10-7 商品详情页功能点详细分析

    •  10-8 商品详情页API开发-TP6的一对一关联查询技巧

    •  10-9 商品详情API开发- 规格数据获取以及数据组装

    •  10-10 商品详情页面API开发 - sku数据组装处理

    •  10-11 利用redis统计商品PV.....


  • 第11章 利用redis打造高性能购物车模块

    本章利用redis处理购物车模块, 并且解决购物车列表hash无序问题。

    •  11-1 利用redis的hash操作打造高性能的商城购物车

    •  11-2 redis的hset处理加入购物车就是这么任性

    •  11-3 redis加入购物车代码优化

    •  11-4 利用hgetall获取购物车列表(上)

    •  11-5 利用hgetall获取购物车列表(下)

    •  11-6 利用redis hash处理购物车删除,修改购物车数量

    •  11-7 完美解决redis hash购物车列表无序问题。

    •  11-8 登录用户初始化API-获取购物车数量


  • 第12章 核心模块-订单模块开发

    本章讲解了分布式发号器生成全局唯一性订单ID,订单的处理,利用消息队列处理失效订单等工作。

    •  12-1 订单整体流程介绍

    •  12-2 订单模块一对多数据表设计

    •  12-3 利用redis的hMget处理订单确认页面API

    •  12-4 分布式发号器生成全局唯一的订单ID

    •  12-5 提交订单 - 从redis获取数据进行判断

    •  12-6 利用MySQL事务创建订单-支持减库存操作(上)

    •  12-7 利用MySQL事务创建订单-支持减库存操作

    •  12-8 订单创建完毕之后需要删除购物车-利用redis-hdel实现批量删除操作

    •  12-9 获取订单详情API

    •  12-10 利用高性能的redis延迟队列处理无效订单(上)

    •  12-11 利用高性能的redis延迟队列处理无效订单(下)


  • 第13章 支付服务化 - 将支付模块单独抽离支付服务(pay.singwa666.com)

    为了解决项目高度解耦,本课程将支付模块单独抽离出来,单独弄成一个独立的服务, 后续商城模块、活动模块等的支付场景都可以直接对接独立的支付服务,很方便。并且这块也是为了后续能支撑高并发的商城做铺垫。

    •  13-1 支付系统服务化简单介绍

    •  13-2 微信支付介绍

    •  13-3 支付服务化前期准备以及测试支付demo

    •  13-4 支付系统整体架构设计

    •  13-5 打造能适配TP6的支付sdk

    •  13-6 支付系统鉴权-安全加固-

    •  13-7 支付系统-下单API开发..

    •  13-8 微信支付回调代码解刨以及预留的作业

    •  13-9 支付系统-订单查询逻辑开发


  • 第14章 打造高并发抢购商品服务【本章持续更新中】

    本章会涵盖并发场景的很多知识点,已商品抢购为具体场景, 里面包含负载均衡,消息队列、redis集群、分布式锁、分布式session解决方案,限流,容灾、服务降级、系统评估、压力测试、排队机制、反作弊场景、性能优化等高级内容。...

    •  14-1 本章整体介绍以及注意事项

    •  14-2 大型网站架构分析


课程链接:https://coding.imooc.com/class/chapter/407.html