本书全面而深入地讲解了PHP开发的主流框架ThinkPHP。全书共9章,第1章主要讲解蜗牛笔记的系统功能,同时对环境准备和基础知识进行梳理。第2章讲解如何基于蜗牛笔记的功能需求设计前端界面,并利用HTML5+BootStrap框架设计能够同时适配移动端和PC端的响应式界面。第3章基于业务需求进行数据库和表结构的设计,进而使读者更加清晰地把控项目需求。第4章讲解ThinkPHP开发框架的核心知识,为实现项目的功能开发做好技术储备。第5章~第8章基于MVC模型,结合数据库操作和前端页面开发,完整地实现了蜗牛笔记的核心功能。第9章为进阶技术,主要讲解缓存服务器、页面静态化处理等技术。
本书通过项目案例来对核心知识点进行深入剖析,可以更加快速地帮助读者提升Web系统开发的能力。本书适合作为高校计算机及相关专业的教材,也适合作为PHP开发工程师和相关从业者的自学参考书。
1.目前市面上还没有专门针对ThinkPHP 6新版本进行讲解的教材,目前的图书一般是基于ThinkPHP 5的版本规范来编写的。
2.本书配备微课视频。
邓强,蜗牛学院创始人,资深导师,四川大学硕士,13年软件研发及管理经验,测试架构师,精通各种开发和测试技术,丰富的项目实施经验和研发管理经验。曾为深圳移动,大唐软件,华夏基金,联想集团,第九城市等20余家企业提供研发咨询,项目实施及培训服务。从事培训事业以来门生数万,遍布国内外各大IT公司。教学严谨,原理讲解透彻。
第 1章 项目前期准备 1
1.1 项目需求简述 1
1.1.1 项目背景介绍 1
1.1.2 项目功能列表 1
1.1.3 项目技术架构 2
1.1.4 关键界面截图 3
1.2 开发环境准备 4
1.2.1 Xampp服务器配置 4
1.2.2 PhpMyAdmin数据库工具 7
1.2.3 Composer依赖管理工具 9
1.2.4 ThinkPHP框架安装配置 10
1.2.5 PhpStorm开发工具 12
1.2.6 Redis缓存服务器安装 14
1.2.7 Web前端开发库下载 15
1.2.8 Fiddler协议监控工具 16
1.2.9 Postman接口测试工具 18
1.3 必备基础知识 20
1.3.1 HTTP协议简介 20
1.3.2 ThinkPHP简介 23
1.3.3 jQuery简介 24
1.3.4 BootStrap简介 25
1.3.5 UEditor简介 27
1.3.6 MVC分层模式 28
第 2章 构建前端界面 29
2.1 界面设计思路 29
2.1.1 整体风格 29
2.1.2 响应式布局 31
2.1.3 前后端交互 31
2.1.4 构建调试环境 32
2.2 系统首页界面 34
2.2.1 功能列表 34
2.2.2 顶部设计 35
2.2.3 中部设计 39
2.2.4 底部设计 46
2.3 文章阅读界面 47
2.3.1 功能列表 47
2.3.2 设计思路 47
2.3.3 代码实现 47
2.4 其他界面 52
2.4.1 登录注册界面 52
2.4.2 文章发布界面 54
2.4.3 系统管理界面 56
第3章 数据库设计 59
3.1 设计用户表 59
3.1.1 设计思路 59
3.1.2 数据字典 59
3.1.3 创建用户表 60
3.2 设计文章表 61
3.2.1 设计思路 61
3.2.2 数据字典 62
3.3 其他表的设计 63
3.3.1 用户评论表 63
3.3.2 文章收藏表 64
3.3.3 积分详情表 64
第4章 ThinkPHP框架应用 65
4.1 ThinkPHP核心功能 65
4.1.1 项目结构 65
4.1.2 命名规范 66
4.1.3 路由规则 66
4.1.4 控制器 67
4.1.5 路由参数 69
4.1.6 注解路由 70
4.1.7 路由分组 71
4.1.8 请求参数 72
4.1.9 请求对象 73
4.1.10 响应对象 74
4.1.11 Session和Cookie 76
4.1.12 中间件 79
4.1.13 助手函数 81
4.1.14 定制错误页面 82
4.1.15 RESTful接口 83
4.2 ThinkTemplate模板引擎 84
4.2.1 模板引擎简介 85
4.2.2 基本用法 86
4.2.3 控制结构 88
4.2.4 模板函数 90
4.2.5 应用示例 91
4.2.6 模板继承 92
4.2.7 模板包含 93
4.3 ThinkPhp数据访问 94
4.3.1 原生数据库操作 94
4.3.2 ORM模型 97
4.3.3 定义模型 101
4.3.4 添加数据 103
4.3.5 修改数据 104
4.3.6 基础查询 104
4.3.7 连接查询 106
4.3.8 模型关系 106
4.3.9 执行原生SQL 108
4.3.10 JSON数据 109
4.4 验证器 109
4.4.1 基础应用 109
4.4.2 错误消息 111
4.4.3 验证规则 111
第5章 博客首页功能开发 115
5.1 文章列表功能 115
5.1.1 项目准备 115
5.1.2 开发思路 116
5.1.3 代码实现 117
5.1.4 代码优化 119
5.1.5 重构分类菜单 121
5.2 分页浏览功能 121
5.2.1 开发思路 121
5.2.2 代码实现 121
5.3 文章分类浏览 123
5.3.1 开发思路 123
5.3.2 代码实现 123
5.4 文章搜索功能 124
5.4.1 开发思路 124
5.4.2 后台实现 125
5.4.3 前端实现 127
5.5 文章推荐功能 128
5.5.1 开发思路 128
5.5.2 代码实现 129
5.5.3 前端渲染侧栏 130
5.5.4 使用Vue渲染 132
5.5.5 侧栏始终停靠 135
5.6 登录注册功能 137
5.6.1 图片验证码 137
5.6.2 邮箱验证码 139
5.6.3 用户注册 142
5.6.4 更新菜单 145
5.6.5 登录验证 146
5.6.6 自动登录 147
5.6.7 找回密码 151
第6章 文章阅读功能开发 152
6.1 阅读文章功能 152
6.1.1 开发思路 152
6.1.2 代码实现 152
6.2 积分阅读功能 154
6.2.1 开发思路 154
6.2.2 代码实现 154
6.2.3 重复消耗积分 156
6.3 文章收藏功能 158
6.3.1 开发思路 158
6.3.2 代码实现 158
6.4 关联推荐功能 161
6.4.1 开发思路 161
6.4.2 代码实现 161
6.5 用户评论功能 163
6.5.1 开发思路 163
6.5.2 发表评论 163
6.5.3 显示评论 167
6.5.4 回复评论 168
6.5.5 显示回复 171
6.5.6 评论分页 175
6.5.7 Vue重构分页 180
6.6 其他评论功能 183
6.6.1 用户点赞 183
6.6.2 隐藏评论 186
第7章 文章发布功能开发 188
7.1 权限管理功能 188
7.1.1 开发思路 188
7.1.2 代码实现 190
7.1.3 重构自动登录 193
7.2 文章编辑功能 194
7.2.1 UEditor插件 194
7.2.2 后台接口对接 196
7.3 文章发布功能 200
7.3.1 开发思路 200
7.3.2 图片压缩 200
7.3.3 缩略图处理 201
7.3.4 代码实现 203
7.4 其他发布功能 206
7.4.1 草稿箱 206
7.4.2 文件上传 210
第8章 后台管理系统开发 212
8.1 系统管理 212
8.1.1 后台概述 212
8.1.2 前端入口 212
8.1.3 首页查询 213
8.1.4 文章处理 218
8.1.5 接口权限 220
8.2 用户中心 221
8.2.1 我的收藏 221
8.2.2 发布文章 224
8.2.3 我要投稿 224
8.2.4 编辑文章 227
8.3 短信校验 230
8.3.1 阿里云账号注册 230
8.3.2 测试短信接口 231
8.3.3 验证码使用场景 233
第9章 高级功能开发 234
9.1 数据缓存处理 234
9.1.1 ThinkPHP缓存基础 234
9.1.2 缓存验证码 235
9.1.3 配置Redis缓存 236
9.1.4 使用Redis缓存Session 240
9.1.5 Redis基础与操作 241
9.1.6 Redis持久化 243
9.1.7 Redis命令集合 243
9.1.8 原生Redis操作 247
9.1.9 Redis处理数据表 248
9.1.10 利用Redis重构文章列表 251
9.2 首页静态化处理 254
9.2.1 静态化的价值 254
9.2.2 首页静态化策略 255
9.2.3 静态化代码实现 256
9.2.4 静态化代码优化 259