第1章 走进PHP的世界 1
1.1快速认识PHP 2
1.1.1 PHP语言的的优势 2
1.1.2 PHP的运行机制和原理 3
1.1.3关于PHP 7 5
1.2 HTML和CSS 6
1.2.1 HTML元素 6
1.2.2 HTML常用标签 7
1.2.3 CSS语法 11
1.2.4 CSS选择器 12
1.2.5 CSS样式 14
1.2.6 CSS框模型 16
1.3 JavaScript简介 18
1.3.1 JavaScript数据类型 18
1.3.2 JavaScript基本语句 21
1.3.3 JavaScript函数和事件 26
1.3.4常用的JavaScript框架和库 29
1.4 PHP开发环境搭建 30
1.5代码编辑器 31
1.6编写第一个PHP程序 32
第2章 PHP语言基础 33
2.1 PHP的数据类型 34
2.2运算符 37
2.3变量 42
2.4常量 45
2.4.1常量的声明 45
2.4.2预定义常量 46
第3章 流程控制语句 48
3.1条件控制语句 49
3.1.1 if条件控制语句 49
3.1.2 switch分支语句 50
3.2循环控制语句 51
3.2.1 while循环 51
3.2.2 do while循环 52
3.2.3 for循环 53
3.2.4 foreach循环 54
3.3跳转语句 56
3.3.1 break语句 56
3.3.2 continue语句 56
3.3.3 goto语句 56
3.4包含语句 57
3.4.1 include语句 57
3.4.2 include_once语句 59
3.4.3 require语句 60
3.4.4 require_once语句 60
第4章 函数 61
4.1函数的使用 62
4.2函数的参数 62
4.2.1参数传递方式 62
4.2.2参数类型声明 64
4.2.3可变参数数量 66
4.3函数返回值 67
4.4可变函数 68
4.5内置函数 69
4.6匿名函数 69
4.7递归与迭代 71
第5章 字符串 73
5.1单引号和双引号的区别 74
5.2字符串连接符 74
5.3字符串操作 75
5.3.1改变字符串大小写 75
5.3.2查找字符串 75
5.3.3替换字符串 78
5.3.4截取字符串 79
5.3.5去除字符串首尾空格和特殊字符 79
5.3.6计算字符串的长度 80
5.3.7转义和还原字符串 80
5.3.8重复一个字符串 81
5.3.9随机打乱字符串 82
5.3.10分割字符串 82
第6章 数组 83
6.1使用数组 84
6.1.1数组类型 84
6.1.2创建数组 85
6.2二维数组和多维数组 87
6.2.1二维数组 87
6.2.2多维数组 87
6.3数组操作 88
6.3.1检查数组中是否存在某个值 88
6.3.2数组转换为字符串 88
6.3.3计算数组中的单元数目 89
6.3.4数组当前单元和数组指针 89
6.3.5数组中的键名和值 90
6.3.6填补数组 93
6.3.7从数组中随机取出一个或多个单元 97
6.3.8数组排序与打乱数组 97
6.3.9遍历数组 100
6.3.10数组的拆分与合并 104
6.3.11增加/删除数组中的元素 106
6.3.12其他常用数组函数 108
6.4系统预定义数组 112
6.4.1$SERVER 112
6.4.2$GET和$POST数组 114
6.4.3$FILES数组 115
6.4.4$SESSION和$COOKIE数组 116
6.4.5 $_REQUEST[]数组 116
第7章 时间与日期 117
7.1设置时区 118
7.1.1在配置文件中设置 118
7.1.2通过date_default_timezone_set函数在文件中设置 118
7.2获取当前时间 118
7.3常用时间处理方法 121
7.3.1格式化时间显示 121
7.3.2计算两个日期间的时间差 124
7.3.3从字符串中解析日期时间 124
7.3.4日期的加减运算 125
7.4验证日期 125
第8章 表单 127
8.1表单的种类 128
8.1.1文本域及其类型 128
8.1.2其他表单类型 131
8.2 get和post方法 133
8.2.1获取表单值 134
8.2.2处理上传文件 134
第9章 类与对象 137
9.1什么是类 138
9.1.1声明一个类 138
9.1.2实例化一个类 139
9.1.3访问类中成员 139
9.1.4静态属性和静态方法 141
9.1.5构造方法和析构方法 142
9.2封装和继承特性 143
9.2.1封装特性 144
9.2.2继承特性 145
9.2.3通过继承实现多态 146
9.3魔术方法 147
9.3.1_set()和_get()方法 147
9.3.2_isset()和_unset()方法 148
9.3.3_call()和_toStnng()方法 150
9.4自动加载 151
9.4.1_autoload()方法 151
9.4.2 spl_autoload register()函数 152
9.5抽象类和接口 153
9.5.1抽象类 153
9.5.2接口 154
9.6类中的关键字 156
9.6.1 final关键字 157
9.6.2 clone关键字 157
9.6.3 instanceof关键字 158
9.6.4“?”和“?” 159
第10章 正则表达式 160
10.1正则表达式的用途 161
10.2正则表达式的语法 161
10.2.1正则表达式中的元素 161
10.2.2替换和子表达式 165
10.2.3反向引用 166
10.3在PHP中使用正则表达式 167
10.3.1匹配与查找 167
10.3.2搜索与替换 171
10.3.3分割与转义 173
第11章 错误异常处理 175
11.1异常处理 176
11.1.1异常类 176
11.1.2创建自己的异常类 178
11.2错误有关配置 179
11.2.1错误级别配置 179
11.2.2记录错误 180
11.2.3自定义错误处理函数 181
11.3 PHP 7中的错误处理 182
第12章 图像处理 184
12.1获取图像信息 185
12.2图像绘制 187
12.2.1创建画布 187
12.2.2定义颜色 188
12.2.3绘制图形 190
12.2.4绘制文字 193
12.3图片处理 196
12.3.1复制图像 196
12.3.2旋转图像 197
12.3.3图像水印 198
12.4图像验证码 199
第13章 目录文件操作 201
13.1目录 202
13.1.1判断文件类型 202
13.1.2创建和删除目录 202
13.1.3打开读取和关闭目录 203
13.1.4获得路径中目录部分 206
13.1.5目录磁盘空间 206
13.2文件操作 207
13.2.1打开文件 207
13.2.2读取文件 208
13.2.3获得文件属性 209
13.2.4复制/删除/移动/重命名文件 211
13.3文件指针 213
13.4文件上传 215
13.4.1上传文件配置 215
13.4.2上传文件示例 216
第14章 Cookie与Session 217
14.1 Cookie详解 218
14.1.1 Cookie的基本概念和设置 218
14.1.2 Cookie的应用和存储机制 221
14.2 Session详解 222
14.2.1 Session的基本概念和设置 222
14.2.2 Session的工作原理和存储机制 223
14.2.3使用Redis存储Session 223
第15章 MySQL数据库的使用 228
15.1 MySQL数据库基础 229
15.2操作MySQL数据库 231
15.2.1创建数据库 231
15.2.2显示数据库 232
15.2.3选择数据库 232
15.2.4删除数据库 232
15.3 MySQL数据类型 233
15.3.1数值类型 233
15.3.2日期和时间类型 233
15.3.3字符串类型 234
15.4操作MySQL数据表 235
15.4.1创建数据表 235
15.4.2查看数据表结构 236
15.4.3更改数据表结构 237
15.4.4删除数据表 239
15.5操作MySQL数据 239
15.5.1插入数据 240
15.5.2更新数据 240
15.5.3删除数据 241
15.5.4查询数据 241
15.6 MySQL图形化管理工具 245
15.7 PHP操作MySQL数据库 247
15.7.1 MySQLi连接操作数据库 247
15.7.2 PDO连接操作数据库 250
第16章 PHP与Redis数据库 254
16.1关系型数据库与非关系型数据库 255
16.2 Redis的安装使用 255
16.3 Redis数据类型 258
16.3.1 string 259
16.3.2 list 262
16.3.3 hash 267
16.3.4 set 270
16.3.5 zset 274
16.4 Key操作命令 279
16.5 PHP操作redis 282
16.5.1安装php-redis扩展 282
16.5.2在PHP中使用Redis 284
第17章 PHP处理XML和JSON 285
17.1生成XML 286
17.1.1由字符串或数组遍历生成XML 286
17.1.2通过DOM生成XML 288
17.1.3通过PHP SimpleXML生成XML 289
17.2解析XML 290
17.2.1通过DOM解析XML 290
17.2.2通过PHP SimpleXML解析XML 291
17.3 json的使用 293
第18章 MVC与ThinkPHP框架 295
18.1 PHP MVC概述 296
18.2常用的PHP框架 296
18.3 ThinkPHP的使用 297
18.3.1开始开发 297
18.3.2入口文件与路由 300
18.4 ThinkPHP控制器 302
18.4.1创建控制器 302
18.4.2跳转和重定向 303
18.5使用数据库 305
18.5.1连接数据库 305
18.5.2查询构造器 307
18.5.3增加/删除/更新数据 312
18.6模型 314
18.6.1模型定义 314
18.6.2基本操作 316
18.7模板 320
18.7.1模板赋值与变量输出 320
18.7.2使用函数和运算符 323
18.7.3模板标签 324
第19章 PHP设计模式 328
19.1什么是设计模式 329
19.2工厂模式 331
19.3单例模式 334
19.4观察者模式 336
19.5策略模式 338
第20章 基于前端架构打造服务端 340
20.1构建一个API的世界 341
20.1.1简述API接口 341
20.1.2 API接口签名验证 341
20.2传输消息的加解密 343
20.2.1单向散列加密 343
20.2.2对称加密 343
20.2.3非对称加密 348
20.3使用Ajax进行交互 351
20.3.1 Ajax的介绍 351
20.3.2 Ajax的使用 354
20.4前端模板和框架 356
20.4.1 MustacheJs介绍 356
20.4.2 AngularJS介绍 359
第21章 实战:O2O平台网站开发 361
21.1需求分析 362
21.2网站概览 362
21.2.1网站功能 362
21.2.2网站预览 362
21.3数据库设计 364
21.3.1数据库建表 364
21.3.2连接数据库 368
21.4使用ThinkPHP搭建项目框架 368
21.4.1应用目录 368
21.4.2引入PHPMailer类库 369
21.4.3引入Ping++支付模块 371
21.5项目代码编写 374
21.5.1注册登录 374
21.5.2下单购买 381
21.5.3用户中心 387
第22章 实战:开发一个App后台 392
22.1 App开发概述 393
22.1.1混合式App开发框架 393
22.1.2 PHP在App开发中的应用 394
22.2 APP开发中的json数据 395
22.3接口开发 396
22.3.1定义路由与封装基类方法 396
22.3.2实现接口功能代码 398