首页>参考读物>计算机科学与技术>软件与程序设计

PHP高性能开发:基础、框架与项目实战
作者 : 王甲临 编著
出版日期 : 2018-07-25
ISBN : 978-7-111-60310-8
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 368
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

如今的PHP应用开发已经不仅是纯语言层面的开发,而是包含了HTML5、JavaScript、数据库、API接口、开发框架和版本管理等相关技术的合集,除了掌握这些基本的技术外,开发者往往还需要关注虚拟化应用和高并发大用户量下网站程序结构设计。本书针对以上这些内容,采用“入门+提升+实践“的方式,通过大量的实战案例,最终带领读者完成一个可用的内容管理框架,并在此基础上实现计划任务和队列抢购的基础程序模型。
本书结构清晰、案例丰富、通俗易懂、实用性强。特别适合PHP相关技术的初学者和进阶读者作为自学教程阅读。另外,本书也适合社会培训学校作为培训教材使用,还适合大中专院校的相关专业作为教学参考书。

图书前言

  PHP最近几年发展迅速,其最新版本已经是PHP 7.0。除了语言层面的升级,PHP相关技术也在不停地更新和升级,让开发者拥有更多的选择,可以应对不同的挑战。
  随着HTML 5、移动开发的兴起,单纯语言层面的开发已经无法支持日新月异的新需求,所以掌握PHP就代表着要掌握整个PHP相关技术体系。这其中不仅包含版本控制工具、IDE(集成开发环境)的进阶使用,还包含PHP的包管理工具。同时,为了寻求比开发框架还要高效的开发模式,本书介绍的内容管理框架就是一种较好的解决方案。本书最后提供的案例在应对高并发、大访问量压力的同时,还能及时调整架构,使得Web应用可以得到有效支撑。
  PHP技术开发者已经越来越向全栈工程师的方向发展,不仅要掌握服务器技术、前端页面编写技术、PHP核心脚本技术,有时候还需要提供产品设计思路。开发者应该把握这一机会,进一步地提升自己的能力。
  本书根据笔者在日常开发工作中的经验汇总而成,目的就是为了帮助开发者提升开发效率并锻炼自身的学习能力。
本书特色
  1.提供了大量有较高应用价值的典型应用实例,实战性强
  本书在多个章节中都提供了实战案例,将基本原理的讲解最终都落实到了代码实现上,而且这些案例会随着图书内容的推进,不断地趋近于实际工程项目,具有很高的应用价值和参考性。
  2.提供了大部分案例的完整源代码
  书中大部分案例都提供了完整的源代码,所有的源代码都可免费下载,使读者的学习更方便。对于没有直接提供源代码的例子,书中也提供了具体的获取方式。
  3.内容由浅入深,循序渐进,讲解通俗易懂
  本书按照读者的接受度来搭建知识体系,讲解由浅入深,循序渐进,在语言表达上尽最大可能地将学术语言采用读者能理解的语言进行讲述,让刚入门的读者也容易理解。
  4.内容全面,应用性强
  从语言入门到应用实战,本书不仅提供了PHP关联技术的讲解,还提供了实战应用案例,具有很强的实用性,读者可以随时查阅和参考。
  5.分享大量的宝贵经验
  “授之以鱼,不如授之以渔”。本书讲解时注重方法与经验的传递,书中给出了大量的“提示”性内容。这些内容都是一些含金量很高的成功经验分享与易错事项总结,有关于理论知识的,也有关于操作细节的,可以帮助读者理解重点和难点内容,在学习之路上披荆斩棘。
本书内容
  第1篇 基础入门篇(第1~6章)
  第1章 开启PHP职场之旅,主要介绍了以下内容:
  (1)选择PHP作为首选开发语言的原因;
  (2)选择合适的操作系统作为开发环境;
  (3)养成良好的开发习惯,如文档编写和代码规范的遵守等。
  第2章 虚拟机与个性化开发环境搭建,主要介绍了如何搭建高效的PHP开发环境。具体内容包括:
  (1)了解虚拟机软件的工作原理;
  (2)Vagrant虚拟机辅助工具的下载、安装和使用;
  (3)在Ubuntu系统中搭建Nginx、PHP 7和MySQL开发环境,同时安装其他必要的开发工具。
  第3章 更先进的版本管理工具——Git,主要介绍了以下内容:
  (1)SVN与Git的区别;
  (2)Git的基本使用技巧与GitHub入门;
  (3)版本管理实战的一些技巧,以及用实例讲解如何在GitHub上搭建免费的个人博客网站,最后再进一步介绍Git的相关知识与操作。
  第4章 高效团队协作,主要介绍了提高团队工作效率的方法与工具。具体内容包括:
  (1)选择合适的通信工具;
  (2)任务分配、代码托管和缺陷管理;
  (3)使用ProcessOn实现在线流程图绘制;
  (4)GitLab管理工具的安装、使用和进阶功能介绍。
  第5章 好用的PHP开发环境——PHPStorm,主要介绍了当前最流行的PHP集成开发环境——PHPStorm。除了介绍常见的PHP集成开发工具外,还介绍了以下知识点:
  (1)PHPStorm常用快捷键操作;
  (2)自定义文件模板和代码片段;
  (3)方法重构与多点编辑;
  (4)PHP Xdebug的扩展使用;
  (5)在PHPStorm中集成Xdebug进行调试。
  第6章 PHP依赖的自动化管理工具——Composer,主要介绍了Composer包管理工具。Composer是PHP最常用的第三方依赖管理工具,本章主要内容如下:
  (1)Composer工具的下载、安装和原理;
  (2)分别通过实例操作,介绍了Composer的一些常用关键技术。
  第2篇 框架进阶篇(第7、8章)
  第7章 响应式布局框架——Bootstrap,主要介绍了以下内容:
  (1)Bootstrap前端框架的基本使用技巧,便于让后端开发者也可以快速构建可用的前端页面;
  (2)基于Bootstrap的后台模板样式——AdminLTE;
  (3)AdminLTE的安装、入门和使用技巧;
  (4)基于AdminLTE实现了一整套后台管理模板,包括列表和表单。
  第8章 ThinkPHP命令行操作与接口开发实战,通过对两个实例的学习,可以帮助读者快速熟悉ThinkPHP 5的新特性。
  第3篇 项目实战篇(第9~12章)
  第9章 内容管理框架实战——基础架构、用户与菜单管理,将带领读者开发一个基本的内容管理框架。
  第10章 内容管理框架实战——配置和权限管理,在第9章的基础上继续带领读者开发和完善内容管理框架。
  第11章 Crontab计划任务管理,介绍了Linux/UNIX系统上最常用的计划任务管理工具——Crontab。本章除了介绍Crontab的基本使用流程外,还基于内容管理框架实现了在管理后台手动管理计划任务。这样不仅省去了直接修改服务器配置的麻烦,还可以及时更改Crontab的各种任务状态,从而提高用户使用体验。
  第12章 基于Redis队列的商城抢购系统,基于Redis数据库的消息订阅与发布机制,实现了一个完整的商城抢购模型。完成本章的项目案例后,读者可以深入理解异步架构对提升网站性能的巨大好处,而且自己还可以继续扩展和提升该项目。
本书源代码获取方式
  本书涉及的源代码文件等配套资源需要读者自行下载。请在机械工业出版社华章分社的网站www.hzbook.com上搜索到本书,然后单击页面上的“资料下载”按钮即可下载。
本书读者对象
* PHP语言初学者;
* PHP初、中级工程师;
* 中小规模开发团队的PHP相关开发者;
* PHP技术小组负责人;
* 需要提高动手能力的网站开发技术人员;
* 高等院校相关专业的学生;
* 培训机构相关学员。
关于作者
  本书由王甲临主笔编写。另外,吴宏伟先生也参与了本书的相关工作,尤其在后期为本书做了大量的细节调整。由于他一丝不苟地逐句推敲,才使得本书语义更加清晰,表述更加通畅,内容更加通俗易懂。在此表示深深的感谢!
  虽然我们对书中所述内容都尽量核实,并进行了多次核对,但因写作时间和作者水平所限,书中可能还存在疏漏和错误,敬请广大读者批评、指正。联系我们请发E-mail到hzbook2017@163.com(编辑部)和whw010@163.com(编辑)。
  
王甲临

上架指导

计算机\程序设计

封底文字

如今的PHP应用开发已经不仅是纯语言层面的开发,还包含了HTML 5、JavaScript、数据库、API接口、开发框架和版本管理等相关技术的合集。除了掌握这些基本的技术外,开发者往往还需要关注虚拟化应用和高并发大用户量下的网站程序结构设计。本书针对以上内容,将采用“入门+提升+实践”的方式,通过大量的实战案例,最终会带领读者完成一个可用的内容管理框架,并在此基础上实现计划任务和队列抢购系统的基础程序模型。
本书分为3篇:第1篇基础入门篇,包括PHP快速入门、虚拟机与个性化开发环境搭建、Git版本控制、高效团队合作、PHPStorm技巧、Composer包管理工具等内容。第2篇框架进阶篇,分别介绍了前端框架Bootstrap和后端框架ThinkPHP 5,帮助开发者掌握快速开发项目的方法。第3篇项目实战篇带领开发者完成了一个基本的内容管理框架,并在此基础上实现了计划任务的可视化管理和基于Redis队列的商城抢购系统。
本书结构清晰,案例丰富,通俗易懂,实用性强,特别适合PHP相关技术的初学者和进阶者作为自学教程阅读。另外,本书也适合作为社会培训学校的培训教材和高等院校相关专业的教学参考书。

图书目录

前言
第1篇 基础入门篇
第1章 开启PHP职场之旅 2
1.1 编程语言的选择 2
1.1.1 为什么选择PHP 2
1.1.2 PHP求职技能需求 3
1.2 选择Windows、Mac OS还是Linux 5
1.2.1 PHP跨操作系统开发 6
1.2.2 Windows操作系统 6
1.2.3 Mac OS操作系统 6
1.2.4 Linux操作系统 7
1.3 养成良好的开发习惯——多看与多写 9
1.3.1 多看文档 9
1.3.2 多写代码 11
第2章 虚拟机与个性化开发环境搭建 15
2.1 单平台共享多系统——虚拟机 15
2.1.1 虚拟机技术 15
2.1.2 VirtulBox虚拟机 16
2.2 虚拟机辅助工具——Vagrant 23
2.2.1 Vagrant简介 24
2.2.2 Vagrant常用操作 25
2.2.3 Vagrant常用配置与命令 30
2.3 打造个性化开发环境 34
2.3.1 准备工作 34
2.3.2 安装及配置Nginx 35
2.3.3 安装及配置PHP 38
2.3.4 安装及配置MySQL 40
2.3.5 配置虚拟站点 42
2.3.6 其他常用设置 43
第3章 更先进的版本管理工具——Git 46
3.1 SVN与Git 46
3.1.1 Git与GitHub 46
3.1.2 Git与SVN的异同 47
3.1.3 在Windows上安装Git 49
3.2 Git常用命令操作 50
3.2.1 创建版本库 50
3.2.2 提交文件到版本库 51
3.2.3 Git查看版本库信息 52
3.2.4 日志查看与版本回退 53
3.2.5 了解工作区、暂存区和版本库 55
3.3 GitHub远程仓库 56
3.3.1 在线注册远程仓库 56
3.3.2 本地操作远程仓库 59
3.4 分支、合并与冲突解决 60
3.4.1 分支与合并原理 61
3.4.2 分支与合并实例 62
3.4.3 冲突解决 63
3.5 使用GitHub Pages搭建个人博客站点 65
3.5.1 传统博客与GitHub Pages 65
3.5.2 使用Hexo框架生成静态网站 66
3.5.3 推送文章网站到GitHub Pages 69
3.5.4 GitHub Pages使用小技巧 73
第4章 高效团队协作 76
4.1 沟通和交流很重要 76
4.1.1 术业有专攻——企业即时通信工具 76
4.1.2 文档积累和文件分享 78
4.2 任务分配、代码托管和缺陷管理 81
4.2.1 任务分配 81
4.2.2 代码托管 82
4.2.3 缺陷管理 83
4.3 在线协作绘制流程图——ProcessOn 84
4.3.1 ProcessOn简介 84
4.3.2 ProcessOn操作指南 85
4.3.3 ProcessOn多人协作 88
4.4 GitLab操作全攻略 90
4.4.1 安装与汉化 90
4.4.2 了解GitLab的工作流 94
4.4.3 GitLab用户和项目管理 97
4.4.4 GitLab持续集成与自动构建实践 105
第5章 好用的PHP开发环境——PHPStorm 111
5.1 常用PHP源代码开发工具 111
5.1.1 源代码编辑工具简介 111
5.1.2 选择合适的开发工具 113
5.2 使用PHPStorm提高代码编写效率 115
5.2.1 PHPStorm常用快捷操作 116
5.2.2 自定义文件模板和代码片段 123
5.2.3 方法重构与多点编辑 129
5.3 PHPStorm集成Xdebug调试插件 132
5.3.1 安装PHP Xdebug扩展 133
5.3.2 在PHPStorm中使用Xdebug插件调试代码 134
第6章 PHP依赖的自动化管理工具——Composer 138
6.1 现代化的包管理工具 138
6.1.1 了解Composer原理 138
6.1.2 Composer安装与使用 140
6.2 Composer使用进阶 141
6.2.1 实例:在项目中集成依赖包PHPMailer 141
6.2.2 认识composer.json和composer.lock文件 144
6.2.3 Composer的其他命令操作 147
6.3 提交自定义包到Composer 150
6.3.1 本地创建Composer包 150
6.3.2 提交依赖包到Composer Packagist 154
第2篇 框架进阶篇
第7章 响应式布局框架——Bootstrap 160
7.1 Bootstrap入门 160
7.1.1 Bootstrap简介 160
7.1.2 Bootstrap核心技术——CSS预处理脚本 161
7.1.3 响应式布局技术 164
7.2 Boostrap实战技巧 166
7.2.1 布局容器与栅格系统 166
7.2.2 Bootstrap组件快速入门技巧 169
7.3 基于Bootstrap的后台模板样式——AdminLTE 171
7.3.1 AdminLTE简介与安装 171
7.3.2 布局、皮肤与box容器 174
7.3.3 实现常用模板——列表 180
7.3.4 实现常用模板——表单 185
第8章 ThinkPHP命令行操作与接口开发实战 193
8.1 ThinkPHP 5与命令行操作 193
8.1.1 ThinkPHP简介 193
8.1.2 使用Composer创建ThinkPHP 5项目 194
8.1.3 ThinkPHP 5命令行操作 195
8.2 实战:制作一个短地址生成器 199
8.2.1 功能简介 199
8.2.2 程序设计 200
8.2.3 数据表设计 201
8.2.4 程序实现 202
8.3 RESTful API实战:用户接口权限验证 208
8.3.1 RESTful API简介 208
8.3.2 实现接口权限验证 209
8.3.3 创建用户表结构与模型 212
8.3.4 开发RESTful API接口类 213
8.3.5 测试RESTful API接口 216
第3篇 项目实战篇
第9章 内容管理框架实战——基础架构、用户与菜单管理 222
9.1 内容管理框架 222
9.1.1 PHP常见开发模式 222
9.1.2 系统功能设计 223
9.1.3 程序架构设计 226
9.2 基础模板布局 226
9.2.1 准备工作 227
9.2.2 创建基础布局模板 227
9.3 用户模块——用户登录与验证 233
9.3.1 数据结构设计与基础模板开发 233
9.3.2 完成用户登录操作 235
9.3.3 用户登录状态验证与注销登录 237
9.4 菜单模块 241
9.4.1 数据结构设计 241
9.4.2 获取菜单数据列表 243
9.4.3 后台菜单展示 246
9.4.4 菜单管理 247
第10章 内容管理框架实战——配置和权限管理 257
10.1 配置管理 257
10.1.1 程序与数据结构设计 257
10.1.2 配置列表管理 258
10.1.3 配置编辑管理 260
10.1.4 配置使用 263
10.2 权限管理——概念、程序设计与数据库设计 266
10.2.1 RBAC权限管理 266
10.2.2 RBAC权限管理程序流程与功能设计 269
10.2.3 基于RBAC权限管理的数据库设计 270
10.3 权限管理——角色分组、节点授权与用户模块 271
10.3.1 权限角色管理 271
10.3.2 用户授权 280
10.4 权限管理——权限验证 283
10.4.1 权限处理类 283
10.4.2 实现权限验证 287
第11章 Crontab计划任务管理 292
11.1 常见计划任务实现方法 292
11.1.1 PHP脚本实现计划任务 292
11.1.2 使用系统级别的计划任务工具 293
11.2 Crontab入门 295
11.2.1 Crontab使用教程 295
11.2.2 用Crontab实现PHP文件定时写入 296
11.3 实现计划任务管理模块 297
11.3.1 程序流程与数据结构设计 297
11.3.2 计划任务管理 299
11.3.3 开发定时任务执行脚本 303
第12章 基于Redis队列的商城抢购系统 311
12.1 高并发应用场景分析 311
12.1.1 高并发场景解决方案 311
12.1.2 高性能抢购系统设计 314
12.2 Redis常用操作 316
12.2.1 Redis简介 316
12.2.2 Redis常用命令操作 317
12.2.3 Redis消息发布/订阅机制 322
12.3.4 可视化管理Redis数据——phpRedisAdmin 324
12.3 实现简单商城网站 327
12.3.1 程序设计与数据库设计 327
12.3.2 商城首页 328
12.3.3 用户注册、登录 330
12.3.4 商品发布 334
12.3.5 商品详情页 337
12.4 完善商城抢购系统逻辑 339
12.4.1 安装使用PHP Redis扩展 339
12.4.2 使用PHP实现Redis订阅/发布实例 341
12.4.3 实现抢购队列消费脚本——订单处理 343
12.4.4 实现抢购入队操作——抢购处理 347
12.4.5 抢购系统部署与使用 353

教学资源推荐
作者: [美] 尤金尼·E.米哈伊洛夫(Eugeniy E. Mikhailov) 著
作者: [美]加里·R. 赖特(Gary R. Wright),W. 理查德·史蒂文斯(W. Richard Stevens) 著
作者: (美)Daniel M. Bikel, Imed Zitouni 编
作者: [美] 基普·R.欧文(Kip R.Irvine) 著
参考读物推荐
作者: 李鹏等
作者: (美)Kirby Turner,Tom Harrington 著
作者: 李玉林 马军 王岩