本书系统全面的介绍了有关PHP程序开发所涉及的各类知识。全书共分16章,内容包括PHP入门与环境搭建、PHP开发基础、运算符和表达式、流程控制语句、PHP数组、PHP与Web页面交互、函数、字符串操作、MySQL数据库、PHP操作MySQL数据库、PHP会话控制、面向对象基础、Ajax技术、ThinkPHP5.0框架、综合案例——编程e学网、课程设计——九宫格抽奖。
买书送名师,明日科技资深讲师面对面授课。本课程依托人民邮电出版社自主开发的在线教育慕课平台——人邮学院(www.rymooc.com),该平台具有完备的在线“教、学、测”功能。人邮学院提供体系完整的100学时慕课教学视频同步讲解,即学即练的在线测试。书中附有188个微课视频,扫一扫书中二维码,便可随时随地学习。附赠300余道习题和自测题, PPT 课件、案例源代码、自测试卷、拓展案例等丰富的配套资源。
作者长期在高校从事PHP教学工作,有着丰富的教学经验和实际项目开发经验,主编多部PHP的高校教材和培训用书,得到广大师生的认可,取得比较好的市场反响。
第1章 PHP入门与环境搭建 1
1.1 PHP概述 2
1.1.1 PHP是什么 2
1.1.2 PHP语言的优势 2
1.1.3 PHP的版本 3
1.1.4 HTML嵌入式的脚本语言 3
1.2 PHP程序的工作流程 4
1.2.1 PHP服务器 4
1.2.2 PHP的工作流程 4
1.3 PHP开发环境构建 5
1.3.1 PHP开发环境的安装 5
1.3.2 PHP服务器的启动与停止 8
1.3.3 PHP开发环境的关键配置 9
1.4 常用代码编辑工具 11
1.5 第一个PHP程序 12
小结 14
上机指导 14
习题 15
第2章 PHP开发基础 16
2.1 PHP基本语法 17
2.1.1 PHP标记符 17
2.1.2 PHP注释 17
2.1.3 PHP语句和语句块 18
2.2 PHP的数据类型 19
2.2.1 标量数据类型 19
2.2.2 复合数据类型 23
2.2.3 特殊数据类型 24
2.2.4 检测数据类型 24
2.3 PHP数据的输出 25
2.3.1 print和echo 25
2.3.2 输出运算符“= ?>” 26
2.4 PHP编码规范 26
2.4.1 什么是编码规范 26
2.4.2 PHP书写规则 26
2.4.3 PHP命名规则 27
小结 28
上机指导 28
习题 28
第3章 运算符和表达式 29
3.1 常量 30
3.1.1 自定义常量 30
3.1.2 预定义常量 32
3.2 变量 33
3.2.1 变量的概念 33
3.2.2 定义和使用变量 33
3.2.3 变量的赋值方式 34
3.2.4 可变变量 35
3.2.5 PHP预定义变量 36
3.3 PHP运算符 37
3.3.1 算术运算符 37
3.3.2 字符串运算符 38
3.3.3 赋值运算符 38
3.3.4 位运算符 39
3.3.5 递增或递减运算符 40
3.3.6 逻辑运算符 41
3.3.7 比较运算符 42
3.3.8 条件运算符 43
3.3.9 运算符优先级 44
3.4 表达式 44
3.5 数据类型的转换 45
3.5.1 自动转换 45
3.5.2 强制转换 46
小结 49
上机指导 49
习题 49
第4章 流程控制语句 50
4.1 条件判断语句 51
4.1.1 if语句 51
4.1.2 if…else语句 52
4.1.3 switch语句 54
4.2 循环控制语句 56
4.2.1 while循环语句 56
4.2.2 do...while循环语句 57
4.2.3 for循环语句 58
4.2.4 foreach循环语句 60
4.2.5 循环结构的应用 61
4.3 跳转语句和终止语句 62
4.3.1 continue语句 62
4.3.2 break语句 63
4.3.3 exit语句 64
小结 64
上机指导 65
习题 65
第5章 PHP数组 66
5.1 数组概述 67
5.1.1 数组是什么 67
5.1.2 数组的类型 67
5.2 创建一维数组 68
5.2.1 通过数组标识符“[]”创建数组 68
5.2.2 使用array()函数创建数组 68
5.3 创建二维数组 69
5.3.1 通过数组标识符“[]”创建二维数组 69
5.3.2 使用array()函数创建二维数组 70
5.4 遍历与输出数组 71
5.4.1 遍历数组 71
5.4.2 输出数组 72
5.5 数组函数及其应用 73
5.5.1 创建数组的函数 73
5.5.2 数组统计函数 76
5.5.3 数组指针函数 77
5.5.4 数组和变量之间的转换 80
5.5.5 数组检索函数 81
5.5.6 数组排序函数 84
5.5.7 数组与数据结构 87
5.5.8 数组集合函数 88
小结 91
上机指导 91
习题 92
第6章 PHP与Web页面交互 93
6.1 表单数据的提交方式 94
6.1.1 GET方法提交表单数据 94
6.1.2 POST方法提交表单数据 95
6.1.3 使用POST方法与GET方法的区别 95
6.2 应用PHP全局变量获取表单数据 96
6.2.1 $_POST[]全局变量 96
6.2.2 $_GET[]全局变量 97
6.3 使用表单 97
6.3.1 创建表单 98
6.3.2 表单元素 98
6.3.3 使用数组提交表单数据 102
6.3.4 表单综合应用 103
6.4 实现文件的上传 106
6.4.1 上传文件相关配置 106
6.4.2 全局变量$_FILES 106
6.4.3 实现PHP文件的上传 108
6.5 服务器端获取数据的其他方法 109
6.5.1 $_REQUEST[ ]全局变量 109
6.5.2 $_SERVER[ ]全局变量 109
小结 111
上机指导 111
习题 113
第7章 函数 114
7.1 函数简介 115
7.1.1 什么是函数 115
7.1.2 函数的分类 115
7.2 自定义函数 115
7.2.1 自定义函数的定义 115
7.2.2 自定义函数的调用 116
7.2.3 自定义函数的参数 116
7.2.4 自定义函数的返回值 118
7.2.5 变量的作用域 119
7.2.6 变量函数 120
7.3 PHP文件的引用 121
7.3.1 include语句 122
7.3.2 require语句 122
7.3.3 include语句和require语句的比较 123
7.3.4 include_once语句和require_once语句 123
7.3.5 应用include语句构建电子商务平台网首页 124
小结 126
上机指导 126
习题 127
第8章 字符串操作 128
8.1 字符串的定义方法 129
8.1.1 使用单引号或双引号定义字符串 129
8.1.2 使用定界符定义字符串 129
8.2 字符串处理函数 130
8.2.1 转义、还原字符串 130
8.2.2 获取字符串长度 133
8.2.3 截取字符串 134
8.2.4 比较字符串 136
8.2.5 检索字符串 138
8.2.6 替换字符串 139
8.2.7 去掉字符串首尾空格和特殊字符 141
8.2.8 格式化字符串 143
8.2.9 分割、合成字符串 144
8.2.10 字符串与HTML转换 145
8.2.11 其他常用字符串函数 147
小结 148
上机指导 148
习题 149
第9章 MySQL数据库 150
9.1 MySQL简介 151
9.1.1 什么是MySQL 151
9.1.2 MySQL特点 151
9.1.3 MySQL 5支持的特性 152
9.2 启动和关闭MySQL服务器 152
9.2.1 启动MySQL服务器 152
9.2.2 连接和断开MySQL服务器 152
9.3 操作MySQL数据库 153
9.3.1 创建数据库 153
9.3.2 选择数据库 154
9.3.3 查看数据库 154
9.3.4 删除数据库 154
9.4 MySQL数据类型 154
9.4.1 数字类型 155
9.4.2 字符串类型 155
9.4.3 日期和时间类型 157
9.5 操作数据表 157
9.5.1 创建数据表 157
9.5.2 查看表结构 158
9.5.3 修改表结构 159
9.5.4 重命名数据表 160
9.5.5 删除数据表 160
9.6 数据表记录的更新操作 161
9.6.1 数据表记录的添加 161
9.6.2 数据表记录的修改 161
9.6.3 数据表记录的删除 161
9.7 数据表记录的查询操作 162
9.8 MySQL中的特殊字符 165
9.9 MySQL数据库的备份与还原 165
9.9.1 使用mysqldump命令备份数据库 165
9.9.2 使用mysql命令还原数据库 166
小结 167
上机指导 167
习题 168
第10章 PHP操作MySQL数据库 169
10.1 PHP操作MySQL数据库的方法 170
10.1.1 连接MySQL服务器 170
10.1.2 选择MySQL数据库 171
10.1.3 执行SQL语句 172
10.1.4 将结果集返回数组中 173
10.1.5 从结果集中获取一行作为对象 174
10.1.6 从结果集中获取一行作为枚举数组 175
10.1.7 从结果集中获取一行作为关联数组 176
10.1.8 获取查询结果集中的记录数 177
10.1.9 释放内存 177
10.1.10 断开连接 178
10.1.11 连接与关闭MySQL服务器的最佳时机 178
10.2 管理MySQL数据库中的数据 179
10.2.1 添加数据 179
10.2.2 编辑数据 181
10.2.3 删除数据 182
10.2.4 批量数据操作 184
10.2.5 在电子商务平台网后台中查看订单和删除订单 185
小结 187
上机指导 187
习题 190
第11章 PHP会话控制 191
11.1 Cookie的操作 192
11.1.1 浏览器中的Cookie设置 192
11.1.2 了解Cookie 192
11.1.3 创建Cookie 193
11.1.4 读取Cookie 194
11.1.5 删除Cookie 195
11.1.6 创建Cookie数组 195
11.2 Session的操作 196
11.2.1 了解Session 196
11.2.2 启动Session 197
11.2.3 注册Session 197
11.2.4 使用Session 197
11.2.5 删除Session 199
11.2.6 Session综合应用 199
11.2.7 电子商务平台网用户管理和权限控制 201
11.3 Cookie与Session的比较 203
小结 203
上机指导 203
习题 206
第12章 面向对象基础 207
12.1 面向对象的基本概念 208
12.1.1 类 208
12.1.2 对象 208
12.1.3 面向对象的特点 208
12.2 类的声明 209
12.2.1 定义类 209
12.2.2 成员属性 210
12.2.3 成员常量 210
12.2.4 成员方法 211
12.3 类的实例化 211
12.3.1 对象的创建 211
12.3.2 访问类中的成员 212
12.3.3 “$this”和“::”操作符 213
12.3.4 构造方法和析构方法 214
12.4 面向对象的封装 215
12.4.1 公共成员关键字public 216
12.4.2 私有成员关键字private 216
12.4.3 保护成员关键字protected 217
12.5 面向对象的继承 217
12.5.1 继承关键字extends 218
12.5.2 子类调用父类的成员方法 218
12.5.3 覆盖父类方法 219
12.6 static关键字 220
12.6.1 静态属性 220
12.6.2 静态方法 220
12.7 抽象类和接口 221
12.7.1 抽象类 222
12.7.2 接口 223
12.8 面向对象实现多态 225
12.8.1 通过继承实现多态 225
12.8.2 通过接口实现多态 226
12.9 面向对象的其他关键字 227
12.9.1 final关键字 227
12.9.2 clone关键字 227
12.9.3 instanceof关键字 228
12.10 面向对象的常用魔术方法 228
12.10.1 __set()和__get()方法 228
12.10.2 __isset()和__unset()方法 229
12.10.3 __call()方法 229
12.10.4 __toString()方法 230
12.10.5 __autoload()方法 230
小结 231
上机指导 231
习题 233
第13章 Ajax技术 234
13.1 Ajax概述 235
13.1.1 什么是Ajax 235
13.1.2 Ajax的开发模式 235
13.1.3 Ajax的优点 235
13.2 Ajax技术的组成 236
13.2.1 JavaScript脚本语言 236
13.2.2 XMLHttpRequest对象 236
13.2.3 XML、DOM和CSS 240
13.3 Ajax与PHP的交互 241
13.3.1 通过GET方式与PHP进行交互 241
13.3.2 通过POST方式与PHP进行交互 243
13.3.3 在电子商务平台网中应用Ajax技术检测用户名 246
13.4 Ajax开发注意事项 248
小结 248
上机指导 249
习题 251
第14章 ThinkPHP 5.0框架 252
14.1 ThinkPHP 5.0简介 253
14.1.1 主要特性 253
14.1.2 运行环境 253
14.1.3 下载与安装 253
14.2 ThinkPHP 5.0基础 254
14.2.1 目录结构 254
14.2.2 命名规范 255
14.2.3 执行流程 256
14.3 ThinkPHP 5.0配置 256
14.3.1 配置格式 256
14.3.2 配置加载 257
14.3.3 入口配置 257
14.3.4 资源配置 258
14.3.5 调试配置 259
14.4 ThinkPHP 5.0路由 259
14.4.1 路由概述 259
14.4.2 路由模式 259
14.4.3 路由定义 260
14.4.4 路由表达式 261
14.4.5 路由地址 262
14.4.6 路由分组 263
14.4.7 MISS路由 263
14.4.8 URL的生成 264
14.5 ThinkPHP 5.0控制器 266
14.5.1 控制器的定义 266
14.5.2 控制器的初始化 266
14.5.3 跳转和重定向 267
14.5.4 请求信息 268
14.5.5 输入变量 269
14.5.6 请求类型 272
14.6 ThinkPHP 5.0数据库 273
14.6.1 数据库的连接 273
14.6.2 基本操作 276
14.7 ThinkPHP 5.0模型 280
14.7.1 模型的定义 280
14.7.2 设置数据表 280
14.7.3 模型调用 281
14.7.4 模型初始化 281
14.7.5 模型基础操作 282
14.7.6 模型事件 287
14.8 ThinkPHP 5.0视图 288
14.8.1 视图实例化 288
14.8.2 内置模板引擎 289
14.8.3 模板赋值 289
14.8.4 模板渲染 291
14.8.5 模板输出替换 291
14.9 ThinkPHP 5.0模板 292
14.9.1 模板特点 292
14.9.2 模板标签 293
14.9.3 变量输出 294
14.9.4 使用函数 295
14.9.5 内置标签 295
14.9.6 包含文件 296
小结 296
第15章 综合案例——编程e学网 297
15.1 案例设计 298
15.2 数据库设计 298
15.2.1 数据库设计 298
15.2.2 数据表设计 298
15.3 前台模块 300
15.3.1 视频首页 300
15.3.2 视频列表页 303
15.3.3 视频播放页 304
15.3.4 会员中心 306
15.3.5 登录注册 307
15.4 后台模块 308
15.4.1 课程管理 308
15.4.2 资源管理 312
15.4.3 注册会员 314
15.4.4 账号管理 315
15.4.5 登录 315
小结 316
第16章 课程设计——九宫格抽奖 317
16.1 案例设计 318
16.2 数据库设计 318
16.2.1 数据库设计 318
16.2.2 数据表设计 318
16.3 抽奖设计 319
16.4 抽奖流程 320
16.4.1 后台设置 320
16.4.2 前台设置 321
16.4.3 开始抽奖 322
16.5 微信扫码分享 326
16.6 个人中心 329
16.6.1 中奖信息 329
16.6.2 账号管理 330
16.7 后台管理系统 330
16.7.1 奖品设置 330
16.7.2 中奖信息 330
16.7.3 会员列表 331
16.8 登录注册 332
16.8.1 登录 332
16.8.2 注册 334
16.9 Web弹层组件layer 336
小结 338