新書推薦:
![殢春风](http://103.6.6.69/upload/mall/productImages/y25/2/9787557034368.jpg)
《
殢春风
》
售價:NT$
230.0
![经典工笔画临摹技法详解:人物](http://103.6.6.66/upload/mall/productImages/25/8/9787122465450.jpg)
《
经典工笔画临摹技法详解:人物
》
售價:NT$
653.0
![耳鼻喉科诊断指南(第二版)](http://103.6.6.66/upload/mall/productImages/25/7/9787523520055.jpg)
《
耳鼻喉科诊断指南(第二版)
》
售價:NT$
857.0
![物联网在行业转型中的应用](http://103.6.6.66/upload/mall/productImages/25/9/9787121492075.jpg)
《
物联网在行业转型中的应用
》
售價:NT$
505.0
![低空经济数字基础设施关键技术与规划方法](http://103.6.6.66/upload/mall/productImages/25/9/9787115653208.jpg)
《
低空经济数字基础设施关键技术与规划方法
》
售價:NT$
509.0
![声与色(未来哲学系列)](http://103.6.6.66/upload/mall/productImages/25/8/9787208190818.jpg)
《
声与色(未来哲学系列)
》
售價:NT$
204.0
![深度说服力:影响和改变一个人的超级方法](http://103.6.6.66/upload/mall/productImages/25/9/9787111762706.jpg)
《
深度说服力:影响和改变一个人的超级方法
》
售價:NT$
352.0
![2025年 中国自助游地图 自驾游游遍中国 深度旅游规划指南 专业实用精彩 旅游攻略景点介绍线路规划](http://103.6.6.66/upload/mall/productImages/25/7/9787520445399.jpg)
《
2025年 中国自助游地图 自驾游游遍中国 深度旅游规划指南 专业实用精彩 旅游攻略景点介绍线路规划
》
售價:NT$
449.0
|
編輯推薦: |
全程代码引导,7天快速学会ThinkPHP应用开发。
《ThinkPHP8高效构建Web应用》简明易懂、示例丰富,系统介绍PHP 8的新特性以及ThinkPHP 8框架的各个组成部分。
通过阅读《ThinkPHP8高效构建Web应用》,读者可以掌握ThinkPHP 的核心原理、特性和用法,还能学习如何在实际项目开发中应用ThinkPHP 的特性,逐步构建完整的Web应用程序。
实战项目包括多人博客系统、图书管理系统、论坛系统、微信小程序商城系统,帮助读者高效构建现代化的Web应用。
作者微信、QQ亲自答疑。
|
內容簡介: |
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应用开发课程的教材。
|
關於作者: |
夏磊,腾讯资深软件工程师,AWS认证解决方案架构师。毕业于湖南工业大学,拥有超过十年的互联网软件开发经验。精通多种编程语言和技术栈,在高并发和大规模分布式Web应用架构领域有着深入的研究和实践经验。开源技术的积极倡导者,也是多个知名开源项目的贡献者,为推动行业发展做出了重要贡献。著有图书《ThinkPHP实战》《ThinkPHP 5实战》和《Node.js与Webpack实战》。
|
目錄:
|
第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
|
內容試閱:
|
本书主要讲解使用ThinkPHP 8框架开发Web应用。ThinkPHP是一种学习曲线比较平滑的PHP开发框架,它能够让你构建各种Web应用。通过不断完善,以及与积极活跃的社区相结合,该框架的发展前景非常好。
PHP 8是PHP语言的一个主版本更新,它包含了很多新功能与优化项,为开发者提供了更多的可能性和性能改进。而全新发布的ThinkPHP 8版本基于PHP 8对ThinkPHP 6.1版本做了重构和优化,提高了其性能和用户的开发体验。
目标读者
本书的目标读者,是熟悉PHP编程语言和具有一定MySQL编程经验的程序员,比如Web应用开发工程师、拥有PHP基础想深入掌握PHP大型项目开发技能的开发人员。由于本书写得比较简明易懂,也适合作为高校Web应用开发的教材。
本书概要
第1章回顾PHP语言的演进历程,并深入探讨PHP与ThinkPHP开发环境的搭建,以及现代集成开发环境(IDE)Visual Studio Code的集成实践,以提升开发效率和代码质量。
第2章详尽解析PHP 8引入的关键创新特性,涵盖命名参数的增强语法、注解的集成支持、match表达式的灵活应用、nullsafe运算符的安全引用机制,以及JIT编译器的性能优化策略。
第3章系统阐释MVC架构模式的理论基础,并深入剖析模块间的交互流程,揭示MVC在复杂应用开发中的结构优势和实现策略。
第4章深入挖掘ThinkPHP 8的创新特性,重点讨论容器化管理与依赖注入的高级应用、Facade设计模式的简化接口、事件驱动架构的动态响应,以及中间件的流程控制机制。
第5章细致讲解路由机制的配置与应用,包括路由的定义策略、资源路由的自动化支持、注解路由的声明式配置,以及URL的精确生成技术。
第6章专注于控制器层面的实现细节,包括请求参数的精确捕获、请求验证的严格规则、以及响应输出的多样化格式。
第7章深入数据库交互的核心,探讨查询构造器的高级用法和链式查询操作的性能优化技巧。
第8章剖析模型层的设计哲学,包括模型的定义方法、关联模型的复杂关系映射,以及数据持久化的最佳实践。
第9章探讨视图层的实现机制,包括模板变量的动态绑定、模板渲染的流程控制,以及模板引擎的高效渲染策略。
第10章讨论异常处理与日志记录的系统化方法,包括自定义异常页面的用户体验设计和日志系统的全面监控能力。
第11章指导命令行应用的全生命周期开发,从自定义指令的构思到执行的自动化流程。
第12章介绍服务器部署的实战技巧,包括Ubuntu系统下LNMP环境的搭建。
第13章深入数据库设计的策略与工具,包括设计原则的系统阐述和设计软件工具的高效应用。
第14章通过一个多人博客系统的开发案例,全面展示ThinkPHP框架在实际项目中的应用,以及如何通过实践加深对框架深层逻辑的理解。
第15章展示图书管理系统的开发过程,揭示管理端系统开发的复杂性和系统性解决方案。
第16章深入论坛系统的开发细节,包括端到端设计的策略和实现,展示社区驱动应用的构建过程。
第17章讨论微信小程序商城的全栈开发,包括用户端API的设计和后台管理系统的实现,探讨移动互联网时代的电商解决方案。
准备工作
学习本书需要有PHP编程基础知识、MySQL基本的增删改查操作技能,以及少许的HTML网页编写知识。不过,如果没有HTML编写经验,也不会影响本书的学习。
要真正掌握本书的内容,建议读者亲自编写书中的示例代码并尝试改进代码,以熟悉ThinkPHP的应用开发流程,在此基础上读者能够编写出生产可用的Web应用。
运行本书示例没有任何特定的硬件要求,任何支持PHP 8的操作系统都可以。书中的所有示例代码和项目都能在Windows和macOS操作系统上运行。PHP 8还为其他操作系统提供了一流的支持,其中也包括Linux,因此所有示例代码都可以在这些操作系统上运行。
示例代码下载
本书配套示例源文件,读者需要用自己的微信扫描右边二维码来获取这些资源。或者从https://github.com/xialeistudio/ThinkPHP8-In-Action下载。
致谢
在本书的创作旅程中,我深感荣幸能够获得众多朋友和同行的无私帮助、中肯建议以及富有建设性的批评。这些宝贵的反馈是我不断前行和完善的动力。
首先,我要向清华大学出版社的全体工作人员表达我最诚挚的感谢。在本书从构思到成书的整个过程中,他们的专业指导和细致工作是不可或缺的。特别要感谢我的责任编辑夏毓彦,他以其敏锐的洞察力和无比的耐心,为本书的完善和最终出版提供了巨大的帮助。
此外,我非常感谢我的妻子。在我投身于写作的日日夜夜,是她的理解、支持和爱,让我能够心无旁骛地追求学术与文字的完美融合。没有她的辛苦付出,本书将无法问世。
我还想对ThinkPHP社区表示深深的谢意。这是一个充满活力和创造力的集体,社区成员的热情支持和智慧贡献,为我的写作提供了丰富的灵感和坚实的知识基础。
夏磊
2024年11月
|
|