ThinkPHP 8高效构建Web应用

ThinkPHP 8高效构建Web应用
作 者: 夏磊
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  夏磊,腾讯资深软件工程师,AWS认证解决方案架构师。毕业于湖南工业大学,拥有超过十年的互联网软件开发经验。精通多种编程语言和技术栈,在高并发和大规模分布式Web应用架构领域有着深入的研究和实践经验。开源技术的积极倡导者,也是多个知名开源项目的贡献者,为推动行业发展做出了重要贡献。著有图书《ThinkPHP实战》《ThinkPHP 5实战》和《Node.js与Webpack实战》。

内容简介

ThinkPHP是一个免费开源、快速、简单、面向对象、轻量级的PHP开发框架,已经成长为国内最领先和最具影响力的Web应用开发框架,众多的典型案例可以表明它稳定用于商业以及门户级网站的开发。《ThinkPHP8高效构建Web应用》通过丰富的代码示例和详细的讲解,帮助读者快速上手ThinkPHP,高效构建Web应用。《ThinkPHP8高效构建Web应用》配套示例源码、作者答疑服务。《ThinkPHP8高效构建Web应用》共分17章,由浅入深地讲解ThinkPHP应用开发方法,内容包括开发环境搭建、PHP 8新特性及其示例、MVC模式、ThinkPHP 8新特性、路由、控制器、数据库、模型、视图、异常管理与日志系统、命令行应用开发、Ubuntu服务器部署、多人博客系统开发、图书管理系统开发、论坛系统开发、微信小程序商城系统开发。《ThinkPHP8高效构建Web应用》要求读者有PHP编程基础。本书适合ThinkPHP框架初学者、ThinkPHP应用开发人员阅读;也可作为高等院校和高职高专院校Web应用开发课程的教材。

图书目录

第1章 PHP概述与开发环境搭建 1

1.1 PHP发展历史 1

1.2 PHP 8新特性概述 2

1.3 安装PHP 8.0 3

1.4 安装IDE 4

1.5 验证PHP开发环境 6

1.6 安装ThinkPHP开发环境 7

第2章 PHP 8新特性及其示例 12

2.1 命名参数 12

2.1.1 语法 13

2.1.2 命名参数的优点 13

2.1.3 命名参数的缺点 14

2.1.4 小结 16

2.2 注解 16

2.2.1 模拟“注解” 16

2.2.2 语法 17

2.2.3 高级应用 19

2.2.4 小结 22

2.3 match表达式 22

2.3.1 语法 23

2.3.2 示例 23

2.3.3 小结 25

2.4 nullsafe运算符 25

2.4.1 语法 25

2.4.2 null合并运算符 27

2.4.3 nullsafe运算符和null合并运算符区别 27

2.4.4 小结 28

2.5 JIT编译器 28

2.5.1 PHP中JIT编译器的特性 28

2.5.2 PHP中的JIT编译器 29

2.5.3 使用JIT编译器 30

2.5.4 小结 32

第3章 MVC模式 33

3.1 MVC模式工作原理 33

3.2 第一个MVC应用示例 34

3.3 购物车MVC应用示例 35

3.4 MVC模式最佳实践 39

3.5 小结 39

第4章 ThinkPHP 8新特性 41

4.1 Composer工具 41

4.1.1 Composer的优点 41

4.1.2 Composer的安装 42

4.2 初始化ThinkPHP 8应用 43

4.3 依赖注入 44

4.4 Facade 45

4.5 中间件 46

4.6 配置 49

4.6.1 基于PHP代码的配置 49

4.6.2 环境变量配置 50

4.6.3 多环境配置变量 51

4.7 小结 53

第5章 路由 54

5.1 路由定义 55

5.1.1 路由规则 55

5.1.2 路由地址 55

5.1.3 HTTP请求方法 58

5.2 路由进阶 59

5.2.1 路由生成 59

5.2.2 强制路由 59

5.2.3 路由分组 60

5.2.4 路由中间件 60

5.3 Restful路由 60

5.4 注解路由 63

5.5 URL生成 66

5.6 小结 67

第6章 控制器 69

6.1 控制器定义 69

6.2 请求处理 72

6.2.1 获取请求对象 72

6.2.2 获取请求上下文信息 74

6.2.3 获取请求参数 76

6.2.4 请求缓存 79

6.3 响应处理 79

6.4 小结 81

第7章 数据库 82

7.1 PHP连接数据库 82

7.2 ThinkPHP连接数据库 83

7.2.1 单个数据库连接 83

7.2.2 多个数据库连接 84

7.2.3 读写分离 85

7.3 查询构造器 87

7.3.1 查询数据 88

7.3.2 插入数据 89

7.3.3 更新数据 90

7.3.4 删除数据 90

7.3.5 查询表达式 90

7.3.6 常用链式操作 91

7.3.7 JSON数据操作 92

7.4 数据库事务 94

7.5 小结 95

第8章 模型 96

8.1 模型定义 96

8.2 插入数据 98

8.3 更新数据 100

8.4 删除数据 101

8.5 查询数据 101

8.6 JSON数据的操作 102

8.7 获取器 103

8.8 修改器 105

8.9 搜索器 106

8.10 软删除 107

8.11 时间戳管理 108

8.12 只读字段 109

8.13 关联模型 109

8.13.1 一对一关联 110

8.13.2 一对多关联 113

8.13.3 多对多关联 115

8.14 小结 118

第9章 视图 119

9.1 视图赋值与渲染 119

9.2 PHP模板语法 120

9.3 小结 122

第10章 异常管理与日志系统 123

10.1 异常管理 123

10.1.1 自定义异常处理器 124

10.1.2 抛出和捕获异常 125

10.2 日志系统 126

10.2.1 术语解释 126

10.2.2 日志写入 127

10.2.3 日志配置 127

10.2.4 自定义日志通道 128

10.3 小结 130

第11章 命令行应用开发 131

11.1 命令行应用的入口 131

11.2 从零构建一个命令行应用 132

11.3 小结 134

第12章 Ubuntu服务器部署 135

12.1 在Ubuntu服务器上部署ThinkPHP应用 135

12.2 小结 137

第13章 数据库设计 138

13.1 数据库设计原则 138

13.2 数据库设计工具 138

13.3 小结 143

第14章 多人博客系统开发 144

14.1 运行示例项目 144

14.2 项目目的 145

14.3 需求分析 146

14.4 功能分析 146

14.5 数据库设计 146

14.5.1 数据表模型图 147

14.5.2 数据库关系说明 147

14.5.3 数据库字段 148

14.6 模块设计 149

14.6.1 网站前台 150

14.6.2 用户管理端 151

14.7 效果展示 152

14.8 部分代码示例 155

14.8.1 验证码 155

14.8.2 成功和错误提示页面 156

14.8.3 发表文章事务操作 157

14.9 项目总结 158

14.10 项目代码 158

第15章 图书管理系统开发 159

15.1 运行示例项目 159

15.2 项目目的 160

15.3 需求分析 161

15.4 功能分析 161

15.5 模块设计 162

15.6 数据库设计 162

15.6.1 数据库模型关系 162

15.6.2 数据库关系说明 163

15.6.3 数据库字典 163

15.7 核心业务流程 165

15.8 效果展示 165

15.9 部分代码示例 168

15.9.1 统一仓储类实现 168

15.9.2 图书借阅实现 172

15.10 项目总结 173

15.11 项目代码 173

第16章 论坛系统开发 174

16.1 运行示例项目 174

16.2 项目目的 175

16.3 需求分析 175

16.4 功能分析 176

16.5 模块设计 176

16.6 数据库设计 176

16.6.1 数据库表关系 177

16.6.2 数据库表关系说明 177

16.6.3 数据库字典 178

16.7 效果展示 180

16.8 代码示例 185

16.8.1 文件上传 185

16.8.2 可选的LOGO编辑 186

16.8.3 分页代码保存GET参数 187

16.8.4 主题详情 188

16.8.5 仓储层设计 191

16.8.6 修改密码 194

16.9 项目总结 195

16.10 项目代码 195

第17章 微信小程序商城系统开发 196

17.1 运行示例项目 196

17.2 项目目的 197

17.3 需求分析 197

17.4 功能分析 197

17.5 模块设计 198

17.6 数据库设计 198

17.6.1 数据库关系 198

17.6.2 数据库关系说明 199

17.6.3 数据库字典 199

17.7 效果展示 201

17.8 代码示例 205

17.8.1 购买商品 205

17.8.2 JWT使用示例 206

17.8.3 异常处理 208

17.9 项目总结 208

17.10 项目代码 209

后记 210