
本书结合大量实例,由浅入深、循序渐进地介绍了PHP 开发技术。书中内容丰富,图文并茂,讲解时理论与实例相互渗透,力图以最直观的方式使读者学习各个知识点,是一本简单易懂,易学易用的书。
本书特意提供了典型习题及教学PPT,以方便教学。另外,本书配有大量配套教学视频,以帮助读者更好地学习。这些视频和书中的实例源代码一起收录于本书的配书光盘中。
本书共14 章,分为3 篇。第1 篇介绍了PHP 基础知识和规范,主要包括PHP 环境的搭建、PHP 的数据类型与运算符、语言结构、函数、数组、面向对象及错误处理等;第2 篇介绍了PHP 开发进阶技术,主要包括字符串处理、文件系统操作、图像处理、数据库管理、Cookie 和Session 等;第3 篇为开发实战篇,主要介绍了面向实际应用的网站模版和常用模块的开发过程,以提升读者的实际开发水平。
本书适合PHP 入门与提高人员阅读,也可作为大中专院校及职业院校PHP 开发课程的教材。另外,本书也可供网站开发程序员和编程爱好者作为实际工作中的参考书籍。
随着互联网的发展,网站已经成为人们生活中重要的组成部分。人们通过网站提供的各项功能进行购物、求职、阅读……现在3G 技术的推广,移动应用和Web 应用也成为开发热点,与两者相关的技术都得到了充分应用。PHP 作为服务器技术得到了广泛应用,由于其开源免费,一直是网站开发的三大主流技术之一。同时,由于PHP 开发简便、灵活,运行效率高,也成为移动应用和Web 应用的服务器端主流技术。
成也萧何,败也萧何。开源技术成就了PHP 主流开发技术的地位,但由于国内开源的相对封闭,造成了新手学习PHP 的各种障碍。例如,国内缺少针对入门读者的系统教材,大部分读者只能借助PHP 手册学习PHP。本书力争打破这种局面,帮助入门读者系统掌握PHP 技术。
本书系统整理和分析了PHP 技术,合理划分篇章结构,帮助读者建立完善的PHP 技术体系。同时,针对PHP 技术新的应用趋势,着重讲解了新应用所使用的技术。考虑到新手入门的特点,本书有针对性地结合了大量示例,帮助读者尽可能好地掌握每项技术。同时为了方便读者可以高效而直观地掌握PHP 技术,本书提供了全程多媒体教学视频,以辅助读者学习本书所讲解的内容。
本书有何特色
1.配多媒体教学视频
本书提供配套多媒体教学视频辅助教学。视频涵盖本书各个知识点,从而帮助读者高效、直观地掌握各项技术。
2.门槛低,容易入门
PHP 之所以非常热门的原因之一就是非常容易入门。因此,不要求读者有太多基础,只要跟着内容的讲解一步步走下去,就可以很容易地做出自己的页面。
3.内容全面、系统
本书详细介绍了PHP 开发所需要的知识,包括语法、函数、数组、对象等,还特别介绍了网站模版和常用模块,通过学习这些技术,读者就可以轻松开发PHP 页面。
4.讲解由浅入深,循序渐进
本书的编排采用循序渐进的方式,内容梯度从易到难,讲解由浅入深,适合各个层次的读者阅读,并均有所获。
5.写作细致,处处为读者着想
本书内容编排、概念表述、语法讲解、示例讲解、源代码注释等都很细致,作者讲解时不厌其烦,细致入微,将问题讲解得很清楚,扫清了读者的学习障碍。
6.贯穿大量的开发实例和技巧
本书在讲解知识点时贯穿了大量短小精悍的典型实例,并给出了大量的开发技巧,力求让读者获得真正实用的知识。
7.提供教学PPT,方便老师教学
本书适合大中专院校和职业学校作为职业技能的教学用书,所以专门制作了教学PPT,以方便各院校的老师教学时使用。
本书内容安排
第1 篇 PHP 语言篇(第1~7 章)
本篇主要内容包括:PHP 概述、PHP 数据类型与运算符、语言结构、函数、数组、面向对象编程以及错误处理。本篇主要是让读者了解PHP 的应用领域、运行环境及PHP 的基础语法知识。该部分是PHP 的基础,只有完全掌握了本篇的知识,才可以在后面的篇幅中游刃有余。
第2 篇 PHP 技术篇(第8~12 章)
本篇主要内容包括:字符串处理函数、文件系统操作、图像处理、数据库管理系统以及Cookie 和Session 。本篇是PHP 的进阶部分,主要介绍了PHP 中相关处理的技术。学习本章后读者应该有能力使用PHP 实现一些简单的功能。
第3 篇 PHP 实战篇(第13、14 章)
本篇主要内容包括:网站模版和常用模块。本篇介绍的是PHP 的实际应用,读者学习完本章的知识后,可以搭建起一个功能完整的论坛程序和个人网站。
本书光盘内容
本书配套多媒体教学视频;
本书实例涉及的源代码。
本书读者对象
Web 服务器端开发入门人员;
网页维护人员;
网站建设和开发人员;
网站制作爱好者;
网站制作培训机构人员;
·II·
大中专院校的学生。
本书阅读建议
建议没有基础的读者,从前到后顺次阅读,尽量不要跳跃。 书中的实例和示例建议读者都要亲自上机动手实践,学习效果更好。 课后习题都动手做一做,以检查自己对本章内容的掌握程度,如果不能顺利完成,
建议回过头来重新学习一下本章内容。 学习每章内容时,建议读者先仔细阅读书中的讲解,然后再结合本章教学视频,学习效果更佳。 部分内容讲解涉及Web 核心组件或者系统组件,建议读者在操作之前,备份相应文件,避免对系统造成不必要的影响。
本书作者
本书由张少卓主笔编写。其他参与编写的人员有毕梦飞、蔡成立、陈涛、陈晓莉、陈燕、崔栋栋、冯国良、高岱明、黄成、黄会、纪奎秀、江莹、靳华、李凌、李胜君、李雅娟、刘大林、刘惠萍、刘水珍、马月桂、闵智和、秦兰、汪文君、文龙、陈冠军、张昆。
阅读本书的过程中,若有任何疑问,可以发邮件到book@wanjuanchina.net 或bookservice2008@163.com,或者到www.wanjuanchina.net 的图书论坛上留言,以获得帮助。
编著者
·III·
第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·