第1 篇 PHP 开发基础
第1 章 PHP 概述(
教学视频:51 分钟)..................................................................................2
1.1 动态网站技术.........................................................................................................................................2
1.1.1 什么是动态网站..........................................................................................................................2
1.1.2 前台技术......................................................................................................................................3
1.1.3 后台技术......................................................................................................................................5
1.2 构建PHP 环境........................................................................................................................................5
1.2.1 PHP 开发环境.............................................................................................................................6
1.2.2 XAMPP 集成开发环境...............................................................................................................6
1.3 第一个程序Hello World ........................................................................................................................ 9
1.3.1 代码编写工具的选择..................................................................................................................9
1.3.2 编写第一个程序Hello world! ................................................................................................ 11
1.4 小结....................................................................................................................................................... 14
1.5 本章习题............................................................................................................................................... 14
第2 章PHP数据类型与运算符(
教学视频:78 分钟)....................................................15
2.1 PHP 的数据类型...................................................................................................................................15
2.1.1 整型........................................................................................................................................... 15
2.1.2 浮点型........................................................................................................................................ 16
2.1.3 字符型........................................................................................................................................ 17
2.1.4 其他数据类型............................................................................................................................17
2.2 变量和常量........................................................................................................................................... 17
2.2.1 变量........................................................................................................................................... 17
2.2.2 常量........................................................................................................................................... 19
2.3 常用运算符........................................................................................................................................... 21
2.3.1 赋值运算符................................................................................................................................ 21
2.3.2 算术运算符................................................................................................................................ 23
2.3.3 连接运算符................................................................................................................................27
2.3.4 比较运算符................................................................................................................................27
2.3.5 逻辑运算符................................................................................................................................29
2.3.6 三元运算符................................................................................................................................ 29
2.3.7 其他运算符................................................................................................................................ 30
2.3.8 运算符的优先级........................................................................................................................30
2.4 输出语句echo....................................................................................................................................... 31
2.5 小结....................................................................................................................................................... 33
2.6 本章习题............................................................................................................................................... 33
第3 章语言结构(
教学视频:67 分钟).................................................................................34
3.1 语句....................................................................................................................................................... 34
3.1.1 表达式........................................................................................................................................ 34
3.1.2 表达式语句................................................................................................................................ 34
3.1.3 复合语句和空语句....................................................................................................................34
3.1.4 语句的执行顺序........................................................................................................................35
3.2 选择语句............................................................................................................................................... 35
3.2.1 if 语句........................................................................................................................................ 35
3.2.2 switch 语句................................................................................................................................ 39
3.3 循环语句............................................................................................................................................... 41
3.3.1 for 循环...................................................................................................................................... 42
3.3.2 while 循环.................................................................................................................................. 44
3.3.3 do…while 循环..........................................................................................................................45
3.3.4 循环语句的嵌套........................................................................................................................45
3.4 跳转语句............................................................................................................................................... 47
3.4.1 break 语句.................................................................................................................................. 47
3.4.2 continue 语句.............................................................................................................................48
3.4.3 goto 语句................................................................................................................................... 49
3.5 小结....................................................................................................................................................... 50
3.6 本章习题............................................................................................................................................... 50
第4 章函数(
教学视频:39 分钟)..........................................................................................51
4.1 使用函数的优势.................................................................................................................................... 51
4.2 使用函数............................................................................................................................................... 51
4.2.1 自定义函数和调用函数............................................................................................................51
4.2.2 函数的参数................................................................................................................................ 52
4.2.3 参数的传递................................................................................................................................ 53
4.2.4 变量的作用域............................................................................................................................55
4.3 函数的其他使用方法............................................................................................................................57
4.3.1 可变函数.................................................................................................................................... 58
4.3.2 函数的引用返回........................................................................................................................58
4.3.3 函数的递归调用........................................................................................................................59
4.3.4 匿名函数.................................................................................................................................... 60
·VI·
4.4 小结....................................................................................................................................................... 61
4.5 本章习题............................................................................................................................................... 61
第5 章数组(
教学视频:102 分钟)........................................................................................62
5.1 使用数组............................................................................................................................................... 62
5.1.1 使用数组的优势........................................................................................................................62
5.1.2 数组使用基础............................................................................................................................63
5.2 数组常用操作....................................................................................................................................... 64
5.2.1 for 循环遍历数组......................................................................................................................65
5.2.2 合并数组.................................................................................................................................... 65
5.2.3 获取数组的交集和差集............................................................................................................67
5.2.4 数值元素相关计算....................................................................................................................68
5.3 增加与删除数组元素............................................................................................................................69
5.3.1 添加/修改数组元素..................................................................................................................69
5.3.2 删除数组/数组中的元素...........................................................................................................71
5.4 遍历数组............................................................................................................................................... 72
5.4.1 排序数组.................................................................................................................................... 72
5.4.2 过滤数组中的元素....................................................................................................................75
5.5 关联数组............................................................................................................................................... 77
5.5.1 定义关联数组............................................................................................................................78
5.5.2 数组比较运算符........................................................................................................................78
5.5.3 使用foreach 结构遍历数组......................................................................................................79
5.5.4 使用指针控制函数遍历数组....................................................................................................81
5.6 多维数组............................................................................................................................................... 84
5.6.1 二维数组的优势........................................................................................................................84
5.6.2 访问二维数组的元素................................................................................................................84
5.6.3 遍历二维数组............................................................................................................................86
5.6.4 三维数组.................................................................................................................................... 87
5.7 系统预定义数组.................................................................................................................................... 88
5.8 小结....................................................................................................................................................... 89
5.9 本章习题............................................................................................................................................... 89
第6 章面向对象编程(
教学视频:134 分钟)......................................................................90
6.1 类与对象............................................................................................................................................... 90
6.1.1 抽象出一个类............................................................................................................................90
6.1.2 实例化一个类............................................................................................................................92
6.1.3 类的成员.................................................................................................................................... 94
6.2 成员属性............................................................................................................................................... 94
6.2.1 变量属性.................................................................................................................................... 94
6.2.2 常量属性(类常量)..............................................................................................................102
·VII·
6.3 成员方法............................................................................................................................................. 103
6.3.1 普通成员方法..........................................................................................................................103
6.3.2 魔术方法..................................................................................................................................109
6.4 类的继承............................................................................................................................................. 114
6.4.1 成员访问标识符......................................................................................................................114
6.4.2 final 关键字.............................................................................................................................121
6.4.3 static 关键字............................................................................................................................122
6.5 面向对象高级使用..............................................................................................................................125
6.5.1 抽象类...................................................................................................................................... 125
6.5.2 接口......................................................................................................................................... 128
6.5.3 其他使用..................................................................................................................................133
6.6 小结..................................................................................................................................................... 135
6.7 本章习题............................................................................................................................................. 136
第7 章错误处理(
教学视频:75 分钟)...............................................................................137
7.1 错误发生的原因..................................................................................................................................137
7.1.1 语法错误..................................................................................................................................137
7.1.2 环境错误..................................................................................................................................139
7.1.3 逻辑错误..................................................................................................................................139
7.1.4 运行时错误..............................................................................................................................140
7.2 错误的分类......................................................................................................................................... 140
7.2.1 预定义错误常量......................................................................................................................140
7.2.2 错误提示配置..........................................................................................................................141
7.2.3 错误处理..................................................................................................................................144
7.2.4 异常......................................................................................................................................... 156
7.2.5 处理异常..................................................................................................................................157
7.3 小结..................................................................................................................................................... 161
7.4 本章习题............................................................................................................................................. 162
第2 篇 PHP 开发进阶
第8 章字符串处理(
教学视频:107 分钟)........................................................................164
8.1 输出字符串......................................................................................................................................... 164
8.1.1 print()函数...............................................................................................................................164
8.1.2 格式化字符串函数..................................................................................................................165
8.2 去除字符............................................................................................................................................. 167
8.2.1 去除空格..................................................................................................................................167
8.2.2 去除HTML 和PHP 标签.......................................................................................................169
·VIII·
8.3 字符串转换......................................................................................................................................... 172
8.3.1 大小写转换..............................................................................................................................172
8.3.2 换行转换..................................................................................................................................173
8.3.3 HTML 相关转换.....................................................................................................................174
8.4 查找与替换字符串..............................................................................................................................176
8.4.1 字符串查找..............................................................................................................................176
8.4.2 字符串替换..............................................................................................................................180
8.5 合并与拆分字符串..............................................................................................................................184
8.5.1 将数组和字符串之间转换......................................................................................................184
8.5.2 strtok()函数..............................................................................................................................188
8.5.3 wordwrap() 函数.......................................................................................................................189
8.6 比较字符串......................................................................................................................................... 191
8.6.1 strcmp() 和strcasecmp() 函数...................................................................................................191
8.6.2 strncmp() 和strncasecmp() 函数...............................................................................................192
8.6.3 strnatcmp() 和strnatcasecmp() 函数.........................................................................................193
8.6.4 substr_compare() 函数..............................................................................................................194
8.7 字符串加密......................................................................................................................................... 195
8.8 小结..................................................................................................................................................... 196
8.9 本章习题............................................................................................................................................. 196
第9 章文件系统操作(
教学视频:106 分钟)....................................................................197
9.1 目录..................................................................................................................................................... 197
9.1.1 目录的基础知识......................................................................................................................197
9.1.2 判断文件的属性......................................................................................................................199
9.1.3 获取文件信息..........................................................................................................................203
9.1.4 目录操作..................................................................................................................................208
9.2 简单读取和输出文件..........................................................................................................................213
9.2.1 将文件读取到数组..................................................................................................................214
9.2.2 将文件读取到字符串..............................................................................................................215
9.2.3 将文件直接输出......................................................................................................................215
9.2.4 输出PHP 代码........................................................................................................................216
9.3 简单操作文件..................................................................................................................................... 217
9.3.1 复制文件..................................................................................................................................218
9.3.2 重命名文件或者目录..............................................................................................................219
9.3.3 删除文件..................................................................................................................................221
9.4 利用文件句柄操作文件......................................................................................................................222
9.4.1 打开和关闭文件句柄..............................................................................................................222
9.4.2 文件指针..................................................................................................................................224
9.4.3 读取文件操作..........................................................................................................................225
·IX·
9.4.4 写入文件操作..........................................................................................................................228
9.5 文件上传............................................................................................................................................. 231
9.5.1 配置环境..................................................................................................................................231
9.5.2 上传文件..................................................................................................................................232
9.6 小结..................................................................................................................................................... 237
9.7 本章习题............................................................................................................................................. 237
第10 章图像处理(
教学视频:70 分钟).............................................................................238
10.1 处理图像前的准备............................................................................................................................238
10.1.1 加载GD 库.........................................................................................................................238
10.1.2 指定正确的MIME 类型....................................................................................................238
10.1.3 通用图像知识.....................................................................................................................239
10.2 图像绘制........................................................................................................................................... 241
10.2.1 输出图像的三个步骤.........................................................................................................241
10.2.2 定义颜色.............................................................................................................................244
10.2.3 获取图像信息.....................................................................................................................245
10.2.4 绘制图形.............................................................................................................................247
10.2.5 绘制文字.............................................................................................................................257
10.3 简易图片处理.................................................................................................................................... 260
10.3.1 为图片添加水印.................................................................................................................260
10.3.2 对相片使用过滤器.............................................................................................................260
10.4 生成验证码....................................................................................................................................... 262
10.5 小结................................................................................................................................................... 264
10.6 本章习题........................................................................................................................................... 265
第11 章数据库管理系统(
教学视频:46 分钟)...............................................................266
11.1 MySQL 基础..................................................................................................................................... 266
11.1.1 使用MySQL 数据库前的准备..........................................................................................266
11.1.2 连接与断开MySQL 数据库..............................................................................................267
11.1.3 数据库操作.........................................................................................................................268
11.1.4 数据表操作.........................................................................................................................269
11.1.5 查询数据操作.....................................................................................................................275
11.1.6 使用phpMyAdmin 管理数据库.........................................................................................277
11.2 使用PHP 操作数据库......................................................................................................................279
11.2.1 PHP 操作数据库流程.........................................................................................................279
11.2.2 查询数据库.........................................................................................................................280
11.3 小结................................................................................................................................................... 284
11.4 本章习题........................................................................................................................................... 284
第12 章Cookie和Session(
教学视频:35 分钟).......................................................286
12.1 Cookie 技术....................................................................................................................................... 286
·X·
12.1.1 什么是Cookie.....................................................................................................................286
12.1.2 设置Cookie.........................................................................................................................287
12.1.3 读取Cookie.........................................................................................................................287
12.1.4 删除Cookie.........................................................................................................................289
12.1.5 使用Cookie 记录登录状态................................................................................................289
12.2 Session 技术...................................................................................................................................... 290
12.2.1 创建Session ........................................................................................................................290
12.2.2 设置、读取和删除Session................................................................................................291
12.2.3 使用Session 记录信息.......................................................................................................293
12.3 小结................................................................................................................................................... 295
12.4 本章习题........................................................................................................................................... 296
第3 篇 PHP 开发实战
第13 章网站模版(
教学视频:35 分钟).............................................................................298
13.1 搭建Discuz!论坛..............................................................................................................................298
13.1.1 Discuz! 安装.........................................................................................................................298
13.1.2 登录站点.............................................................................................................................303
13.1.3 管理站点信息.....................................................................................................................303
13.1.4 管理版块.............................................................................................................................305
13.1.5 添加插件.............................................................................................................................306
13.2 搭建Joomla! 站点..............................................................................................................................308
13.2.1 Joomla! 安装........................................................................................................................308
13.2.2 管理Joomla! ..................................................................................................................... 314
13.2.3 Joomla! 使用........................................................................................................................315
13.3 小结................................................................................................................................................... 319
13.4 本章习题........................................................................................................................................... 320
第14 章常用模块(
教学视频:31 分钟).............................................................................321
14.1 小小网盘........................................................................................................................................... 321
14.1.1 功能设计.............................................................................................................................321
14.1.2 具体代码实现.....................................................................................................................322
14.1.3 简易网盘运行测试.............................................................................................................326
14.2 简易投票系统功能设计....................................................................................................................327
14.2.1 功能设计.............................................................................................................................328
14.2.2 具体代码实现.....................................................................................................................330
14.2.3 运行测试.............................................................................................................................333
14.3 小结................................................................................................................................................... 334
·XI·