PHP 7从零基础到项目实战,PHP 7从零基础到项目实战

  • Post author:
  • Post category:php


前言

第1章 走进PHP的世界1

1.1 快速认识PHP2

1.1.1 PHP语言的优势2

1.1.2 PHP的运行机制和原理3

1.1.3 PHP 7的新特性4

1.2 搭建PHP开发环境5

1.3 常用PHP代码编辑器7

1.4 编写一个“Hello World”PHP程序7

第2章 PHP语言基础9

2.1 PHP的数据类型9

2.1.1 字符串9

2.1.2 整型10

2.1.3 浮点型11

2.1.4 布尔型11

2.1.5 数组11

2.1.6 对象11

2.1.7 NULL值12

2.2 运算符12

2.2.1 算术运算符12

2.2.2 递增递减运算符13

2.2.3 比较运算符14

2.2.4 逻辑运算符15

2.2.5 三元运算符15

2.2.6 字符串连接运算符16

2.2.7 赋值运算符16

2.2.8 位运算符17

2.3 变量18

2.3.1 变量的定义18

2.3.2 变量的作用域18

2.4 常量20

2.4.1 常量的声明20

2.4.2 预定义常量21

第3章 流程控制语句23

3.1 条件控制语句23

3.1.1 if条件控制语句23

3.1.2 switch分支语句24

3.2 循环控制语句26

3.2.1 while循环26

3.2.2 do while循环26

3.2.3 for循环27

3.2.4 foreach循环28

3.3 跳转语句30

3.3.1 break语句30

3.3.2 continue语句30

3.3.3 goto语句30

3.4 包含语句31

3.4.1 include语句31

3.4.2 include_once语句33

3.4.3 require语句33

3.4.4 require_once语句34

第4章 函数35

4.1 函数的使用35

4.2 函数的参数36

4.2.1 参数传递方式36

4.2.2 参数类型声明38

4.2.3 可变参数数量39

4.3 函数返回值40

4.4 可变函数41

4.5 内置函数42

4.6 匿名函数42

4.7 递归与迭代44

4.7.1 递归44

4.7.2 迭代45

第5章 字符串46

5.1 单引号和双引号的区别46

5.2 字符串连接符47

5.3 字符串操作47

5.3.1 改变字符串大小写47

5.3.2 查找字符串48

5.3.3 替换字符串50

5.3.4 截取字符串51

5.3.5 去除字符串首尾空格和特殊字符51

5.3.6 计算字符串的长度52

5.3.7 转义和还原字符串53

5.3.8 重复一个字符串53

5.3.9 随机打乱字符串54

5.3.10 分割字符串54

第6章 数组56

6.1 使用数组56

6.1.1 数组类型56

6.1.2 创建数组57

6.2 二维数组和多维数组59

6.2.1 二维数组59

6.2.2 多维数组59

6.3 数组操作60

6.3.1 检查数组中是否存在某个值60

6.3.2 数组转换为字符串61

6.3.3 计算数组中的单元数目61

6.3.4 数组当前单元和数组指针61

6.3.5 数组中的键名和值62

6.3.6 填补数组65

6.3.7 从数组中随机取出一个或多个单元69

6.3.8 数组排序与打乱数组69

6.3.9 遍历数组72

6.3.10 数组的拆分与合并76

6.3.11 增加/删除数组中的元素78

6.3.12 其他常用数组函数79

6.4 系统预定义数组84

6.4.1 $_SERVER84

6.4.2 $_GET 和 $_POST数组86

6.4.3 $_FILES数组87

6.4.4 $_SESSION和$_COOKIE数组88

6.4.5 $_REQUEST[]数组88

第7章 时间与日期89

7.1 设置时区89

7.1.1 在配置文件中设置89

7.1.2 通过date_default_timezone_set函数在文件中设置90

7.2 获取当前时间90

7.3 常用时间处理方法93

7.3.1 格式化时间显示93

7.3.2 计算两个日期间的时间差95

7.3.3 从字符串中解析日期时间96

7.3.4 日期的加减运算96

7.4 验证日期97

第8章 表单98

8.1 表单的种类98

8.1.1 文本域及其类型98

8.1.2 其他表单类型102

8.2 get和post方法103

8.2.1 获取表单值104

8.2.2 处理上传文件105

第9章 类与对象107

9.1 什么是类107

9.1.1 声明一个类108

9.1.2 实例化一个类108

9.1.3 访问类中成员109

9.1.4 静态属性和静态方法110

9.1.5 构造方法和析构方法111

9.2 封装和继承特性113

9.2.1 封装特性113

9.2.2 继承特性114

9.2.3 通过继承实现多态115

9.3 魔术方法116

9.3.1 __set()和__get()方法116

9.3.2 __isset()和__unset()方法117

9.3.3 __call()和__toString()方法119

9.4 自动加载120

9.4.1 __autoload() 方法120

9.4.2 spl_autoload_register() 函数121

9.5 抽象类和接口122

9.5.1 抽象类122

9.5.2 接口123

9.6 类中的关键字125

9.6.1 final关键字125

9.6.2 clone关键字126

9.6.3 instanceof关键字127

9.6.4 “==”和“===”128

第10章 正则表达式129

10.1 正则表达式的用途129

10.2 正则表达式的语法130

10.2.1 正则表达式中的元素130

10.2.2 替换和子表达式134

10.2.3 反向引用135

10.3 在PHP中使用正则表达式135

10.3.1 匹配与查找135

10.3.2 搜索与替换139

10.3.3 分割与转义141

第11章 错误异常处理144

11.1 异常处理144

11.1.1 异常类144

11.1.2 创建自己的异常类146

11.2 错误有关配置147

11.2.1 错误级别配置147

11.2.2 记录错误148

11.2.3 自定义错误处理函数149

11.3 PHP 7中的错误处理151

第12章 图像处理152

12.1 获取图像信息152

12.1.1 getimagesize取得图像大小152

12.1.2 getimagesizefromstring从字符串中获取图像尺寸信息153

12.1.3 imagesx取得图像的宽度154

12.1.4 imagesy取得图像的高度154

12.2 图像绘制155

12.2.1 创建画布155

12.2.2 定义颜色156

12.2.3 绘制图形157

12.2.4 绘制文字161

12.3 图片处理163

12.3.1 复制图像164

12.3.2 旋转图像164

12.3.3 图像水印165

12.4 图像验证码166

第13章 目录文件操作168

13.1 目录168

13.1.1 判断文件类型168

13.1.2 创建和删除目录169

13.1.3 打开读取和关闭目录170

13.1.4 获得路径中目录部分172

13.1.5 目录磁盘空间172

13.2 文件操作173

13.2.1 打开文件173

13.2.2 读取文件174

13.2.3 获得文件属性175

13.2.4 复制/删除/移动/重命名文件178

13.3 文件指针179

13.4 文件上传181

13.4.1 上传文件配置181

13.4.2 上传文件示例182

第14章 Cookie与Session184

14.1 详解Cookie184

14.1.1 Cookie的基本概念和设置184

14.1.2 Cookie的应用和存储机制187

14.2 Session详解188

14.2.1 Session的基本概念和设置188

14.2.2 Session的工作原理和存储机制189

14.2.3 使用Redis存储Session190

第15章 MySQL数据库的使用194

15.1 MySQL的安装194

15.2 操作MySQL数据库197

15.2.1 创建数据库197

15.2.2 显示数据库197

15.2.3 选择数据库197

15.2.4 删除数据库198

15.3 MySQL数据类型198

15.3.1 数值类型198

15.3.2 日期和时间类型199

15.3.3 字符串类型199

15.4 操作MySQL数据表200

15.4.1 创建数据表200

15.4.2 查看数据表结构201

15.4.3 更改数据表结构202

15.4.4 删除数据表204

15.5 操作MySQL数据205

15.5.1 插入数据205

15.5.2 更新数据205

15.5.3 删除数据206

15.5.4 查询数据206

15.6 MySQL图形化管理工具210

15.7 PHP操作MySQL数据库212

15.7.1 MySQLi连接操作数据库212

15.7.2 PDO连接操作数据库215

第16章 PHP与Redis数据库219

16.1 关系型数据库与非关系型数据库219

16.2 Redis的安装使用220

16.3 Redis数据类型223

16.3.1 string223

16.3.2 list227

16.3.3 hash233

16.3.4 set236

16.3.5 zset241

16.4 Key操作命令246

16.5 PHP操作Redis249

16.5.1 安装php-redis扩展249

16.5.2 在PHP中使用Redis251

第17章 PHP处理XML和JSON252

17.1 生成XML252

17.1.1 由字符串或数组遍历生成XML252

17.1.2 通过DOM生成XML254

17.1.3 通过PHP SimpleXML生成XML255

17.2 解析XML256

17.2.1 通过DOM解析XML256

17.2.2 通过PHP SimpleXML解析XML258

17.3 JSON的使用259

17.3.1 json_encode259

17.3.2 json_decode260

第18章 MVC与ThinkPHP框架261

18.1 PHP MVC概述261

18.2 常用的PHP框架262

18.3 ThinkPHP的使用263

18.3.1 开始开发263

18.3.2 入口文件与路由266

18.4 ThinkPHP控制器267

18.4.1 创建控制器267

18.4.2 跳转和重定向269

18.5 使用数据库270

18.5.1 连接数据库270

18.5.2 查询构造器272

18.5.3 增加/删除/更新数据277

18.6 模型279

18.6.1 模型定义279

18.6.2 基本操作281

18.7 模板284

18.7.1 模板赋值与变量输出285

18.7.2 使用函数和运算符287

18.7.3 模板标签288

第19章 PHP设计模式292

19.1 什么是设计模式292

19.2 工厂模式294

19.3 单例模式298

19.4 观察者模式299

19.5 策略模式301

第20章 基于前端架构打造服务端303

20.1 构建一个API的世界303

20.1.1 简述API接口303

20.1.2 API接口签名验证304

20.2 传输消息的加解密305

20.2.1 单向散列加密305

20.2.2 对称加密305

20.2.3 非对称加密311

20.3 使用Ajax进行交互313

20.3.1 Ajax的介绍313

20.3.2 Ajax的使用316

20.4 前端模板和框架318

20.4.1 MustacheJS介绍318

20.4.2 AngularJS介绍321

第21章 O2O小白财税网站开发323

21.1 需求分析323

21.2 网站概览323

21.2.1 网站功能323

21.2.2 网站预览324

21.3 数据库设计326

21.3.1 数据库建表326

21.3.2 连接数据库329

21.4 使用ThinkPHP搭建项目框架330

21.4.1 应用目录330

21.4.2 引入PHPMailer类库331

21.4.3 引入Ping++支付模块333

21.5 项目代码编写335

21.5.1 注册登录335

21.5.2 下单购买342

21.5.3 用户中心347

第22章 卡券管理系统App后台开发353

22.1 PHP在App开发中的应用353

22.2 App开发中的JSON数据354

22.3 接口开发355

22.3.1 定义路由与封装基类方法355

22.3.2 实现接口功能代码356

第23章 编写自己的PHP框架361

23.1 框架设计361

23.1.1 框架设计思想361

23.1.2 框架执行流程361

23.2 框架总体概览362

23.3 框架初始化364

23.3.1 入口文件定义364

23.3.2 路由解析365

23.4 应用配置366

23.5 核心基础类366

23.5.1 控制器基类366

23.5.2 模型基类368

23.6 公用函数库372

23.7 使用框架372

23.7.1 创建表和模型372

23.7.2 创建控制器和视图373

第24章 大型网站架构设计376

24.1 大型网站架构概述376

24.1.1 大型网站的特点376

24.1.2 大型网站的设计要素377

24.2 负载均衡378

24.2.1 负载均衡技术378

24.2.2 负载均衡算法379

24.3 数据库的使用380

24.3.1 数据切分380

24.3.2 数据库中间件381

24.4 消息队列382

24.4.1 消息队列的应用场景383

24.4.2 消息队列的基本概念383

24.4.3 常用消息队列384

24.5 网站监控385

24.5.1 数据收集385

24.5.2 异常监控与报警385