书籍详情
ThinkPHP 5实战
作者:夏磊 著
出版社:清华大学出版社
出版时间:2019-10-01
ISBN:9787302533580
定价:¥49.00
购买这本书可以去
内容简介
本书针对ThinkPHP 5进行编写,内容由浅入深,由局部到整体,以实用性为目标,系统地介绍ThinkPHP框架的相关技术及其在Web开发中的应用。 本书分为18章,内容包括开发环境搭建、配置系统、路由、控制器、数据库操作层、模型层、视图、验证器、缓存、Session和Cookie、命令行应用、开发调试、服务器部署、数据库设计、多人博客系统开发、图书管理系统开发、论坛系统开发与微信小程序商城系统开发。如果读者在阅读本书时遇到问题,还可以到Github上提出问题获得解答。 本书适合ThinkPHP初学者、PHP应用开发人员,也适合作为高等院校和培训学校计算机相关专业的师生教学参考。
作者简介
夏磊,毕业于湖南工业大学网络工程专业;目前从事软件开发工作,精通PHP服务器脚本语言技术,善于把握与运用新技术,如LAMP平台下Web软件的开发、软件架构、设计模式、JavaScript、YII、Golang等;博客上有大量的Web相关技术文章,深受读者好评;著有图书《ThinkPHP实战》。
目录
目 录
第1章 搭建开发环境 1
1.1 下载开发工具/软件 1
1.2 HelloWorld 1
第2章 配置系统 5
2.1 配置的路径 5
2.2 配置的格式 5
2.3 配置的加载顺序 6
2.4 配置的读写与示例 6
2.5 小结 8
第3章 路由 9
3.1 路由模式 9
3.1.1 普通模式 9
3.1.2 混合模式 10
3.1.3 强制模式 10
3.2 路由定义 10
3.2.1 编码定义 10
3.2.2 配置定义 11
3.3 路由条件 11
3.4 路由地址 13
3.4.1 路由到模块/控制器 13
3.4.2 重定向 13
3.4.3 路由到控制器方法 14
3.4.4 路由到类静态方法 14
3.4.5 路由到闭包 14
3.5 Restful路由 14
3.5.1 普通资源 14
3.5.2 嵌套资源 15
3.6 路由分组 16
3.7 全局404路由 16
3.8 路由绑定 17
3.9 URL生成 17
3.10 小结 17
第4章 控制器 18
4.1 定义 18
4.2 输出响应 18
4.3 配置响应格式 19
4.4 初始化操作和前置操作 19
4.5 跳转和重定向 20
4.6 控制器嵌套 20
4.7 获取请求详情 20
4.8 获取输入数据 21
4.8.1 数据过滤方法 22
4.8.2 获取部分数据 22
4.8.3 排除部分数据 22
4.8.4 数据类型处理 22
4.9 参数绑定 23
4.10 页面缓存 23
4.11 小结 23
第5章 数据库操作层 24
5.1 数据库配置 24
5.2 基本操作 26
5.3 使用查询构造器 27
5.3.1 添加数据 27
5.3.2 更新数据 27
5.3.3 查询数据 28
5.3.4 删除数据 28
5.4 查询语法 29
5.4.1 查询表达式和查询方法 29
5.4.2 查询表达式示例 30
5.5 连贯操作 31
5.6 连贯操作示例 32
5.6.1 table 32
5.6.2 alias 33
5.6.3 field 33
5.6.4 order/orderRaw 33
5.6.5 limit 34
5.6.6 group 34
5.6.7 having 34
5.6.8 join 34
5.6.9 union 35
5.6.10 distinct 35
5.6.11 page 35
5.6.12 lock 35
5.6.13 cache 36
5.6.14 relation 36
5.7 查询事件与SQL调试 36
5.7.1 查询事件 36
5.7.2 SQL调试 37
5.7.3 事务 37
5.7.4 调用存储过程或函数 37
第6章 模型层 38
6.1 模型定义 38
6.2 插入数据 38
6.3 更新数据 39
6.4 批量更新(只支持主键) 39
6.5 删除数据 40
6.6 查询数据 40
6.7 批量查询 40
6.8 聚合查询 41
6.9 get/set 41
6.10 自动时间戳处理 42
6.11 只读字段 43
6.12 软删除 43
6.13 自动完成 44
6.14 数据类型自动转换 45
6.15 快捷查询 46
6.16 全局查询条件 46
6.17 模型事件 47
6.18 关联模型 48
6.18.1 一对一关联 48
6.18.2 一对一关联模型数据操作 48
6.18.3 一对一从属关联 49
6.18.4 一对多关联 49
6.18.5 一对多关联模型数据操作 50
6.18.6 一对多从属关联 50
6.18.7 多对多关联 50
6.18.8 多对多模型数据操作 51
6.18.9 多对多从属关联 52
6.18.10 不定类型关联模型 52
6.18.11 关联数据一次查询优化 54
第7章 视图 56
7.1 渲染方法 56
7.2 模板引擎配置 56
7.3 模板赋值与渲染 57
7.4 Think模板引擎语法 57
7.4.1 变量输出 58
7.4.2 模板内置变量 58
7.4.3 默认值 58
7.4.4 使用函数 59
7.4.5 算术运算符 59
7.4.6 三目运算符 59
7.4.7 不解析输出 60
7.4.8 布局文件 60
7.4.9 模板包含 62
7.4.10 被包含模板使用变量 63
7.5 模板继承 64
7.5.1 继承语法 64
7.5.2 继承模板合并 65
7.5.3 模板继承注意事项 65
7.6 模板标签库 66
7.6.1 导入标签库 66
7.6.2 使用标签库 66
7.6.3 标签预加载 66
7.6.4 内置标签 67
7.6.5 内置标签示例 68
7.6.6 标签嵌套 72
第8章 验证器 73
8.1 验证器类 73
8.2 验证规则 74
8.3 自定义规则 76
8.4 控制器/模型验证 77
8.5 便捷验证 78
8.6 小结 78
第9章 缓存 79
9.1 缓存配置 79
9.2 缓存操作 79
第10章 Session和Cookie 81
10.1 Session和Cookie区别 81
10.1.1 Session 81
10.1.2 Cookie 81
10.2 Session配置 81
10.3 Session操作 82
10.4 Cookie配置 82
10.5 Cookie操作 83
第11章 命令行应用 84
第12章 开发调试 86
12.1 调试模式的开启和关闭 86
12.2 变量调试 87
12.3 执行流程 87
12.4 性能调试 88
12.5 异常 88
12.5.1 异常配置 88
12.5.2 异常处理器 89
12.6 异常抛出 89
第13章 服务器部署 91
13.1 apt-get常用命令 91
13.2 安装步骤 92
13.3 配置文件路径 92
13.4 服务管理命令 92
13.5 配置默认站点 92
第14章 数据库设计 94
14.1 设计原则 94
14.2 设计工具 94
第15章 多人博客系统开发 100
15.1 项目目的 100
15.2 需求分析 100
15.3 功能分析 101
15.4 数据库设计 101
15.4.1 数据表模型图 101
15.4.2 数据库关系说明 102
15.4.3 数据库字典 102
15.5 模块设计 104
15.5.1 网站前台 105
15.5.2 用户管理端 107
15.6 效果展示 107
15.7 代码示例 110
15.7.1 用户注册 110
15.7.2 用户登录 112
15.7.3 文章详情 113
15.7.4 发表文章 115
15.7.5 接入统计系统 117
15.8 项目总结 118
15.9 项目完整代码 118
第16章 图书管理系统开发 119
16.1 项目目的 119
16.2 MVC Repository Service介绍 119
16.3 需求分析 120
16.4 功能分析 120
16.5 模块设计 120
16.6 数据库设计 121
16.6.1 数据库模型关系 121
16.6.2 数据库关系说明 122
16.6.3 数据库字典 123
16.7 核心业务流程 125
16.8 效果展示 125
16.9 代码示例 128
16.10 项目总结 137
16.11 项目完整代码 137
第17章 论坛系统开发 138
17.1 项目目的 138
17.2 需求分析 138
17.3 功能分析 139
17.4 模块设计 139
17.5 数据库设计 139
17.5.1 数据库表关系 140
17.5.2 数据库表关系说明 141
17.5.3 数据库字典 141
17.6 效果展示 145
17.7 代码示例 152
17.7.1 用户注册 152
17.7.2 新增版块 153
17.7.3 编辑版块 153
17.7.4 模型基类 154
17.7.5 主题模型类 155
17.7.6 仓储基类 158
17.7.7 主题仓储类 160
17.7.8 用户业务类 164
17.7.9 自定义配置 168
17.7.10 读取自定义配置 168
17.7.11 免登录Action定义 169
17.7.12 免登录Action配置 169
17.7.13 用户注册(显示验证码) 171
17.7.14 用户注册(检测验证码) 172
17.8 项目总结 173
17.9 项目完整代码 173
第18章 微信小程序商城系统开发 174
18.1 项目目的 174
18.2 需求分析 174
18.3 功能分析 174
18.4 模块设计 175
18.5 数据库设计 175
18.5.1 数据库关系 175
18.5.2 数据库关系说明 176
18.5.3 数据库字典 176
18.6 效果展示 178
18.7 代码示例 184
18.8 项目总结 189
18.9 项目完整代码 189
后记 190
第1章 搭建开发环境 1
1.1 下载开发工具/软件 1
1.2 HelloWorld 1
第2章 配置系统 5
2.1 配置的路径 5
2.2 配置的格式 5
2.3 配置的加载顺序 6
2.4 配置的读写与示例 6
2.5 小结 8
第3章 路由 9
3.1 路由模式 9
3.1.1 普通模式 9
3.1.2 混合模式 10
3.1.3 强制模式 10
3.2 路由定义 10
3.2.1 编码定义 10
3.2.2 配置定义 11
3.3 路由条件 11
3.4 路由地址 13
3.4.1 路由到模块/控制器 13
3.4.2 重定向 13
3.4.3 路由到控制器方法 14
3.4.4 路由到类静态方法 14
3.4.5 路由到闭包 14
3.5 Restful路由 14
3.5.1 普通资源 14
3.5.2 嵌套资源 15
3.6 路由分组 16
3.7 全局404路由 16
3.8 路由绑定 17
3.9 URL生成 17
3.10 小结 17
第4章 控制器 18
4.1 定义 18
4.2 输出响应 18
4.3 配置响应格式 19
4.4 初始化操作和前置操作 19
4.5 跳转和重定向 20
4.6 控制器嵌套 20
4.7 获取请求详情 20
4.8 获取输入数据 21
4.8.1 数据过滤方法 22
4.8.2 获取部分数据 22
4.8.3 排除部分数据 22
4.8.4 数据类型处理 22
4.9 参数绑定 23
4.10 页面缓存 23
4.11 小结 23
第5章 数据库操作层 24
5.1 数据库配置 24
5.2 基本操作 26
5.3 使用查询构造器 27
5.3.1 添加数据 27
5.3.2 更新数据 27
5.3.3 查询数据 28
5.3.4 删除数据 28
5.4 查询语法 29
5.4.1 查询表达式和查询方法 29
5.4.2 查询表达式示例 30
5.5 连贯操作 31
5.6 连贯操作示例 32
5.6.1 table 32
5.6.2 alias 33
5.6.3 field 33
5.6.4 order/orderRaw 33
5.6.5 limit 34
5.6.6 group 34
5.6.7 having 34
5.6.8 join 34
5.6.9 union 35
5.6.10 distinct 35
5.6.11 page 35
5.6.12 lock 35
5.6.13 cache 36
5.6.14 relation 36
5.7 查询事件与SQL调试 36
5.7.1 查询事件 36
5.7.2 SQL调试 37
5.7.3 事务 37
5.7.4 调用存储过程或函数 37
第6章 模型层 38
6.1 模型定义 38
6.2 插入数据 38
6.3 更新数据 39
6.4 批量更新(只支持主键) 39
6.5 删除数据 40
6.6 查询数据 40
6.7 批量查询 40
6.8 聚合查询 41
6.9 get/set 41
6.10 自动时间戳处理 42
6.11 只读字段 43
6.12 软删除 43
6.13 自动完成 44
6.14 数据类型自动转换 45
6.15 快捷查询 46
6.16 全局查询条件 46
6.17 模型事件 47
6.18 关联模型 48
6.18.1 一对一关联 48
6.18.2 一对一关联模型数据操作 48
6.18.3 一对一从属关联 49
6.18.4 一对多关联 49
6.18.5 一对多关联模型数据操作 50
6.18.6 一对多从属关联 50
6.18.7 多对多关联 50
6.18.8 多对多模型数据操作 51
6.18.9 多对多从属关联 52
6.18.10 不定类型关联模型 52
6.18.11 关联数据一次查询优化 54
第7章 视图 56
7.1 渲染方法 56
7.2 模板引擎配置 56
7.3 模板赋值与渲染 57
7.4 Think模板引擎语法 57
7.4.1 变量输出 58
7.4.2 模板内置变量 58
7.4.3 默认值 58
7.4.4 使用函数 59
7.4.5 算术运算符 59
7.4.6 三目运算符 59
7.4.7 不解析输出 60
7.4.8 布局文件 60
7.4.9 模板包含 62
7.4.10 被包含模板使用变量 63
7.5 模板继承 64
7.5.1 继承语法 64
7.5.2 继承模板合并 65
7.5.3 模板继承注意事项 65
7.6 模板标签库 66
7.6.1 导入标签库 66
7.6.2 使用标签库 66
7.6.3 标签预加载 66
7.6.4 内置标签 67
7.6.5 内置标签示例 68
7.6.6 标签嵌套 72
第8章 验证器 73
8.1 验证器类 73
8.2 验证规则 74
8.3 自定义规则 76
8.4 控制器/模型验证 77
8.5 便捷验证 78
8.6 小结 78
第9章 缓存 79
9.1 缓存配置 79
9.2 缓存操作 79
第10章 Session和Cookie 81
10.1 Session和Cookie区别 81
10.1.1 Session 81
10.1.2 Cookie 81
10.2 Session配置 81
10.3 Session操作 82
10.4 Cookie配置 82
10.5 Cookie操作 83
第11章 命令行应用 84
第12章 开发调试 86
12.1 调试模式的开启和关闭 86
12.2 变量调试 87
12.3 执行流程 87
12.4 性能调试 88
12.5 异常 88
12.5.1 异常配置 88
12.5.2 异常处理器 89
12.6 异常抛出 89
第13章 服务器部署 91
13.1 apt-get常用命令 91
13.2 安装步骤 92
13.3 配置文件路径 92
13.4 服务管理命令 92
13.5 配置默认站点 92
第14章 数据库设计 94
14.1 设计原则 94
14.2 设计工具 94
第15章 多人博客系统开发 100
15.1 项目目的 100
15.2 需求分析 100
15.3 功能分析 101
15.4 数据库设计 101
15.4.1 数据表模型图 101
15.4.2 数据库关系说明 102
15.4.3 数据库字典 102
15.5 模块设计 104
15.5.1 网站前台 105
15.5.2 用户管理端 107
15.6 效果展示 107
15.7 代码示例 110
15.7.1 用户注册 110
15.7.2 用户登录 112
15.7.3 文章详情 113
15.7.4 发表文章 115
15.7.5 接入统计系统 117
15.8 项目总结 118
15.9 项目完整代码 118
第16章 图书管理系统开发 119
16.1 项目目的 119
16.2 MVC Repository Service介绍 119
16.3 需求分析 120
16.4 功能分析 120
16.5 模块设计 120
16.6 数据库设计 121
16.6.1 数据库模型关系 121
16.6.2 数据库关系说明 122
16.6.3 数据库字典 123
16.7 核心业务流程 125
16.8 效果展示 125
16.9 代码示例 128
16.10 项目总结 137
16.11 项目完整代码 137
第17章 论坛系统开发 138
17.1 项目目的 138
17.2 需求分析 138
17.3 功能分析 139
17.4 模块设计 139
17.5 数据库设计 139
17.5.1 数据库表关系 140
17.5.2 数据库表关系说明 141
17.5.3 数据库字典 141
17.6 效果展示 145
17.7 代码示例 152
17.7.1 用户注册 152
17.7.2 新增版块 153
17.7.3 编辑版块 153
17.7.4 模型基类 154
17.7.5 主题模型类 155
17.7.6 仓储基类 158
17.7.7 主题仓储类 160
17.7.8 用户业务类 164
17.7.9 自定义配置 168
17.7.10 读取自定义配置 168
17.7.11 免登录Action定义 169
17.7.12 免登录Action配置 169
17.7.13 用户注册(显示验证码) 171
17.7.14 用户注册(检测验证码) 172
17.8 项目总结 173
17.9 项目完整代码 173
第18章 微信小程序商城系统开发 174
18.1 项目目的 174
18.2 需求分析 174
18.3 功能分析 174
18.4 模块设计 175
18.5 数据库设计 175
18.5.1 数据库关系 175
18.5.2 数据库关系说明 176
18.5.3 数据库字典 176
18.6 效果展示 178
18.7 代码示例 184
18.8 项目总结 189
18.9 项目完整代码 189
后记 190
猜您喜欢