如今的PHP应用开发已经不仅是纯语言层面的开发,而是包含了HTML5、JavaScript、数据库、API接口、开发框架和版本管理等相关技术的合集,除了掌握这些基本的技术外,开发者往往还需要关注虚拟化应用和高并发大用户量下网站程序结构设计。本书针对以上这些内容,采用“入门+提升+实践“的方式,通过大量的实战案例,最终带领读者完成一个可用的内容管理框架,并在此基础上实现计划任务和队列抢购的基础程序模型。
本书结构清晰、案例丰富、通俗易懂、实用性强。特别适合PHP相关技术的初学者和进阶读者作为自学教程阅读。另外,本书也适合社会培训学校作为培训教材使用,还适合大中专院校的相关专业作为教学参考书。
封面图
目录
- 前言
- 第1篇 基础入门篇
- 第1章 开启PHP职场之旅2
- 1.1 编程语言的选择2
- 1.1.1 为什么选择PHP2
- 1.1.2 PHP求职技能需求3
- 1.2 选择Windows、Mac OS还是Linux5
- 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 虚拟机辅助工具——Vagrant23
- 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 安装及配置Nginx35
- 2.3.3 安装及配置PHP38
- 2.3.4 安装及配置MySQL40
- 2.3.5 配置虚拟站点42
- 2.3.6 其他常用设置43
- 第3章 更先进的版本管理工具——Git46
- 3.1 SVN与Git46
- 3.1.1 Git与GitHub46
- 3.1.2 Git与SVN的异同47
- 3.1.3 在Windows上安装Git49
- 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 Pages65
- 3.5.2 使用Hexo框架生成静态网站66
- 3.5.3 推送文章网站到GitHub Pages69
- 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 在线协作绘制流程图——ProcessOn84
- 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开发环境——PHPStorm111
- 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依赖的自动化管理工具——Composer138
- 6.1 现代化的包管理工具138
- 6.1.1 了解Composer原理138
- 6.1.2 Composer安装与使用140
- 6.2 Composer使用进阶141
- 6.2.1 实例:在项目中集成依赖包PHPMailer141
- 6.2.2 认识composer.json和composer.lock文件144
- 6.2.3 Composer的其他命令操作147
- 6.3 提交自定义包到Composer150
- 6.3.1 本地创建Composer包150
- 6.3.2 提交依赖包到Composer Packagist154
- 第2篇 框架进阶篇
- 第7章 响应式布局框架——Bootstrap160
- 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的后台模板样式——AdminLTE171
- 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数据——phpRedisAdmin324
- 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