图书简介:
第1章 PHP认知与环境搭建 1
1.1 HTTP协议 1
1.1.1 HTTP协议简介 1
1.1.2 URL 1
1.1.3 请求与应答 2
1.2 Web相关技术 2
1.2.1 网站行业的细分 2
1.2.2 B/S架构 3
1.2.3 静态网页与动态网页 3
1.2.4 服务器端动态网页的
“3P”技术 4
1.3 Web应用开发的黄金
组合—LAMP 5
1.3.1 Linux操作系统 5
1.3.2 Apache服务器 5
1.3.3 MySQL数据库 5
1.3.4 PHP语言 6
1.3.5 从LAMP到WAMP 6
1.4 环境搭建与虚拟主机配置 6
1.4.1 基于XAMPP搭建PHP
开发环境 6
1.4.2 基于phpStudy搭建
PHP开发环境 12
1.5 编辑器与简单的PHP程序 14
实训任务1 PHP认知与环境搭建 17
第2章 PHP语法基础 19
2.1 程序的结构与编写规范 19
2.1.1 什么是程序 19
2.1.2 程序的结构 20
2.1.3 程序的编写规范 20
2.2 从最简单的程序中学习语法
常识 22
2.2.1 任务分析 22
2.2.2 相关知识 22
2.2.3 任务实现 25
2.3 从求圆的周长和面积中学习
变量常量 26
2.3.1 任务分析 26
2.3.2 相关知识 26
2.3.3 任务实现 31
2.4 从输出学生信息表中学习
数据类型 33
2.4.1 任务分析 33
2.4.2 相关知识 33
2.4.3 任务实现 38
2.5 从四则运算中学习运算符 39
2.5.1 任务分析 39
2.5.2 相关知识 39
2.5.3 任务实现 47
实训任务2 PHP程序基本认知 48
第3章 PHP流程结构 50
3.1 顺序结构 50
3.2 从BMI计算器中学习分支
结构 50
3.2.1 任务分析 51
3.2.2 相关知识 51
3.2.3 任务实现 62
3.3 从多名学生的BMI判定中
学习循环结构 63
3.3.1 任务分析 63
3.3.2 相关知识 63
3.3.3 任务实现 73
实训任务3 程序逻辑处理 74
第4章 PHP表单交互与会话 79
4.1 HTML表单常用标签 76
4.1.1 表单的定义 76
4.1.2 表单元素 77
4.1.3 表单案例:学生信息
登记表单 80
4.2 获取表单数据 81
4.2.1 使用post方法接收学生
信息登记表单的数据 81
4.2.2 使用get方法计算长方
形面积 83
4.2.3 isset()和empty()函数 85
4.3 从用户登录中学习Session的
使用 86
4.3.1 任务分析 86
4.3.2 相关知识 86
4.3.3 任务实现 87
4.4 从用户注销中学习Session的
删除 89
4.4.1 任务分析 89
4.4.2 相关知识 90
4.4.3 任务实现 90
4.5 从保存登录时间中学习
Cookie 91
4.5.1 任务分析 92
4.5.2 相关知识 92
4.5.3 任务实现 94
实训任务4 PHP表单交互与会话 96
第5章 PHP中的函数 98
5.1 从推算属相案例中学习自定
义函数 98
5.1.1 任务分析 98
5.1.2 相关知识 99
5.1.3 任务实现 110
5.2 从防止SQL注入中学习字符串
处理函数 111
5.2.1 任务分析 112
5.2.2 相关知识 112
5.2.3 任务实现 128
实训任务5 PHP函数的应用 130
第6章 PHP中的数组 132
6.1 数组的概念 132
6.1.1 什么是数组 132
6.1.2 数组的定义 133
6.2 从统计学生平均成绩中学习
数组遍历 138
6.2.1 任务分析 139
6.2.2 相关知识 139
6.2.3 任务实现 141
6.3 从学生成绩排名中学习数组
排序 143
6.3.1 任务分析 143
6.3.2 相关知识 143
6.3.3 任务实现 147
6.4 PHP数组的常用函数 150
6.4.1 数组内部的指针函数 150
6.4.2 查找函数 150
6.4.3 其他函数 152
实训任务6 PHP数组的应用 152
第7章 面向对象编程 154
7.1 认识面向对象编程 154
7.1.1 面向过程编程与面向
对象编程 154
7.1.2 面向对象编程的特征 155
7.2 从声明Person类中学习类 156
7.2.1 任务分析 156
7.2.2 相关知识 156
7.2.3 任务实现 157
7.3 从实例化Person类中学习
对象 158
7.3.1 任务分析 158
7.3.2 相关知识 158
7.3.3 任务实现 159
7.4 从赋值和销毁中学习构造和
析构方法 160
7.4.1 任务分析 161
7.4.2 相关知识 161
7.4.3 任务实现 163
7.5 从访问控制中学习封装和
继承 164
7.5.1 任务分析 165
7.5.2 相关知识 165
7.5.3 任务实现 176
7.6 从Person类中学习抽象类与接口 177
7.6.1 任务分析 177
7.6.2 相关知识 177
7.6.3 任务实现 182
7.7 从选择中学习多态 182
7.7.1 任务分析 182
7.7.2 相关知识 183
7.7.3 任务实现 184
7.8 关键字和魔术方法的应用 186
7.8.1 final关键字的应用 186
7.8.2 static关键字的应用 187
7.8.3 单态设计模式 189
7.8.4 const关键字的应用 190
7.8.5 instanceof关键字的
应用 191
7.8.6 克隆对象 191
7.8.7 类中通用的方法
__toString() 193
7.8.8 PHP 7新加入的方法 193
7.8.9 __call()方法的应用 194
7.8.10 自动加载类 196
实训任务7 面向对象基础编程
应用 197
第8章 正则表达式 199
8.1 从分割字符串中认识正则表
达式 199
8.1.1 任务分析 199
8.1.2 相关知识 200
8.1.3 任务实现 205
8.2 正则表达式案例:验证表单
内容 207
8.2.1 任务分析 207
8.2.2 相关知识 207
8.2.3 任务实现 211
实训任务8 正则表达式 213
第9章 PHP中的文件操作 215
9.1 从读写文件中认识简单文件
读写函数 215
9.1.1 任务分析 215
9.1.2 相关知识 215
9.1.3 任务实现 217
9.2 从留言板案例中认识带锁
读写文件 218
9.2.1 任务分析 218
9.2.2 相关知识 218
9.2.3 任务实现 224
9.3 PHP文件上传案例:上传
头像 226
9.3.1 任务分析 226
9.3.2 相关知识 226
9.3.3 任务实现 229
实训任务9 PHP中的文件操作 232
第10章 PHP操纵MySQL数据库 233
10.1 MySQL数据库概述 233
10.1.1 MySQL数据库 233
10.1.2 数据库与Web开发 233
10.1.3 PHP与MySQL
数据库 234
10.1.4 PHP访问MySQL
数据库的流程 234
10.2 从学生管理系统中学习PHP
操纵MySQL数据库 235
10.2.1 任务分析 235
10.2.2 相关知识 236
10.2.3 任务实现 247
实训任务10 PHP操作MySQL
数据库 253
第11章 PHP中的图形图像 255
11.1 处理图像前的准备 255
11.1.1 加载GD库 255
11.1.2 PHP图像坐标系 256
11.1.3 指定适合的MIME
类型 256
11.2 图像的基本操作 257
11.2.1 创建画布 257
11.2.2 输出图像 258
11.2.3 定义颜色 258
11.2.4 释放图像资源 258
11.3 绘制基本图形案例:绘制围
棋棋盘 260
11.3.1 任务分析 260
11.3.2 相关知识 261
11.3.3 任务实现 272
11.4 绘制文本案例:生成验
证码 274
11.4.1 任务分析 274
11.4.2 相关知识 274
11.4.3 任务实现 278
实训任务11 使用PHP处理图形
图像 279
第12章 综合实例:通信录管理
系统 281
12.1 案例展示 281
12.2 需求分析 282
12.3 案例实现 283
12.3.1 准备工作 283
12.3.2 数据库设计 284
12.3.3 用户登录 285
12.3.4 验证码 287
12.3.5 用户注册 289
12.3.6 用户信息完善 292
12.3.7 查看联系人信息 294
12.3.8 分页查询 296
12.3.9 添加联系人 298
12.3.10 修改联系人 300
12.3.11 删除联系人 301
12.3.12 用户退出 302
参考文献 303
展开
LAMP是Web应用开发中四种最常用的开源、免费软件的组合,包括Linux操作系统、Apache服务器、MySQL数据库和PHP语言。LAMP的四部分本身都是各自独立的程序,但是因为常被放在一起使用,它们相互之间拥有了越来越高的兼容性,共同组成了一个强大的Web应用开发平台。随着“开源”潮流的蓬勃发展,开放源代码的LAMP被称为Web应用开发的黄金组合,成为Web应用开发的主流技术,而LAMP的核心是PHP语言。
PHP是一种开源、免费、跨平台、运行在服务器端的程序开发语言,主要应用于Web应用开发领域,具有程序运行效率高、速度快、易学习、好上手的特点。PHP与JSP、ASP.NET合称为服务器端网站开发的“3P”技术,且相对于JSP和ASP.NET,PHP更加灵活、安全,是时下最流行的Web开发语言之一。
1.写作背景
2019年,国务院以国发〔2019〕4号文印发了《国家职业教育改革实施方案》,其中,第(五)条是“完善教育教学相关标准”,开启了职业教育专业建设、课程建设的标准化时代;第(六)条是“启动1+X证书制度试点工作”,教育部已于2019年6月18日公布了首批1+X证书制度试点院校名单,首批试点职业技能领域中包含了Web前端认证,并提供了Web前端认证的详细标准与知识点;第(九)条是“坚持知行合一、工学结合”,鼓励校企双元开发精品教材。
本书对标新一代信息技术相关专业人才培养方案中,对PHP基础课程的要求;覆盖“1+X Web前端开发职业技能等级标准”中PHP基础知识点。
本书的主编是一名具有16年程序设计与开发经验的程序设计界的“老兵”,同时还是一名潜心教学改革与创新的高校教师。编者一直致力于将自己的经验或教训通过书的形式呈现给读者,通过最通俗易懂的语言与实例把复杂抽象的程序设计讲给新人们。
2.教材特色
职业教育和高等教育是两种不同的教育类型,它们同等重要。2019年,职业教育迎来新的发展机遇,职业教育注重实践的特性进一步明晰化。本书顺应了这一趋势,本书在理论知识够用的前提下,更加强调实践,以实例与实训贯穿,通俗易懂,从应用角度将PHP的学习划分为11章,并在第12章给出综合实例。本书的特色主要体现在以下几个方面。
? 对标“1+X证书制度”
本书以“1+X Web前端开发职业技能等级标准”为依据,详细分析Web前端开发认证中对PHP程序设计的具体要求,完全对标工业和信息化部教育与考试中心提供的“Web前端开发职业技能等级标准”中PHP部分的基础知识点。
? 双元开发
邀请企业导师加入教材编写团队,集合企业开发经验和校方教学经验共同开发本教材。
? 通俗易懂
本书尽量摒弃过于深奥的专业术语,用最通俗易懂的语言去描述程序设计开发的过程,利用类比的方法,将程序设计与现实生活相结合,让程序设计与编写更加简单易懂。
? 注重实践
本书以实践为主线,每个知识点都附以实例,每章配有实训任务。所有实例都经过作者的认真调试,并在书中给出详细的操作步骤,读者按照步骤操作100%可以得到正确的结果。
全书篇幅合理、选材新颖,以实际操作为基础,辅以相应的理论知识,既有利于教学,又非常适合自学,帮助读者零基础、无障碍地阅读与学习。
3.主要内容
本书以计算机语言的学习与认知过程为主线,以实践为主导,尽量使用通俗易懂的语言描述,避免空洞难懂的理论。本书按照程序设计与编写的思路进行讲解。首先让读者对PHP有所认知并搭建PHP的开发环境;随后在实践中学习程序设计的基本元素,包括变量、常量、数据类型、运算符和表达式;在学习基本知识的过程中,逐渐感知程序的编写思路,并引入三大结构(顺序、分支、循环)的概念;而后从Web应用开发的需求入手,讲解PHP表单的交互与会话;在能够编写一些小程序后,引入数组存储批量数据;为了程序的模块化,引入函数;为了数据的规范化操作管理,引入正则表达式;为了数据的永久化存储,引入文件和PHP操纵MySQL;为了更高效地开发程序,逐渐从面向过程的编程过渡到面向对象的编程;为了更好地处理网页中的图片,讲解了PHP的图形图像处理;最后通过综合实例对整本书的内容进行总结。
4.应用范围
本书适合作为高等职业院校新一代信息技术相关专业的教材,也可作为应用型本科PHP基础课程的教材,同时本书也是计算机编程爱好者的入门参考书籍,还可作为计算机培训机构的培训教材。顺应“互联网+”趋势,本书提供了大量配套资源,包括源代码、实训任务、PPT课件等,请登录华信教育资源网(www.hxedu.com.cn)免费注册后下载。
5.编写情况
本书由王海宾进行整体规划与内容组织,王海宾与丁莉负责内容统稿并担任主编,宋海军、罗文塽、郗君甫担任副主编。
本书第1、2、3章由王海宾编写,第4、6、8章由丁莉编写,第5、11章由宋海军编写,第7章由郗君甫编写,第9章由吴超楠、李磊、李园园共同编写,第10章由罗文塽编写,第12章由赵庆编写,程序源码、PPT课件与实训任务由王海宾和罗文塽共同编写。在本书的编写过程中得到很多业界同人的支持,在此一并表示感谢。
尽管作者认真、仔细,并尽量做到最好,但书中难免有疏忽、遗漏之处,恳请读者提出宝贵意见和建议,以便今后改进和修正。作者E-mail地址:seashorewang@qq.com。
编 者
展开