微信扫一扫,移动浏览光盘
简介
本书循序渐进地介绍PHP 7 MySQL 8开发动态网站的主要知识和技能,提供大量的PHP和MySQL开发实例供读者实践。每一章都清晰地讲述代码作用及其编写思路,使读者能在短时间内迅速掌握PHP的应用开发技能。 全书共22章,讲解PHP 7的基本概念、PHP 7服务器环境配置、PHP的基本语法、PHP的语言结构、字符串和正则表达式、数组、时间和日期、面向对象编程、错误和异常处理、PHP与Web页面交互、文件与目录操作、图形图像处理、Cookie与会话管理、MySQL 8数据库基础、数据表和数据库的基本操作、数据的基本操作、PHP操作MySQL数据库、PDO数据库抽象类库、网站安全加密技术、ThinkPHP框架等内容,并通过两个综合项目实训使读者进一步巩固所学的知识、提高综合实战能力。 本书既适合PHP MySQL动态网站开发的初学者以及广大网站开发人员阅读,也可供高等院校和培训学校相关专业的师生参考。
目录
第1章 初识PHP 1
1.1 PHP的来龙去脉 1
1.1.1 PHP的概念 1
1.1.2 PHP的发展历程 1
1.1.3 PHP的优势 2
1.2 PHP能干什么 3
1.3 PHP 7的新特点 3
1.4 PHP常用开发工具 5
1.4.1 PHP代码开发工具 6
1.4.2 网页设计工具 6
1.4.3 文本编辑工具 7
1.5 高手甜点 7
第2章 PHP 7服务器环境配置 9
2.1 PHP服务器概述 9
2.2 安装PHP 7前的准备工作 10
2.2.1 软硬件环境 10
2.2.2 获取PHP 7安装资源包 10
2.3 PHP 7 IIS服务器安装配置 11
2.3.1 IIS简介及其安装 11
2.3.2 PHP的安装 13
2.3.3 虚拟目录的设置 15
2.4 PHP 7 Apache服务器的环境搭建 16
2.4.1 Apache简介 17
2.4.2 关闭原有的网站服务器 17
2.4.3 安装Apache 18
2.4.4 将PHP与Apache建立关联 18
2.5 新手的福音—PHP环境的集成软件 19
2.6 实战演练—我的*个PHP程序 22
2.7 高手甜点 23
第3章 PHP的基本语法 25
3.1 PHP 7的标记风格 25
3.2 编码规范 26
3.2.1 什么是编码规范 26
3.2.2 PHP中的编码规范 26
3.3 常量 28
3.3.1 声明和使用常量 28
3.3.2 内置常量 29
3.4 变量 30
3.4.1 PHP中的变量声明 30
3.4.2 可变变量与变量的引用 32
3.4.3 变量作用域 33
3.4.4 变量的销毁 37
3.5 数据类型 37
3.5.1 什么是类型 37
3.5.2 整数类型 38
3.5.3 浮点类型 38
3.5.4 布尔类型 39
3.5.5 字符串类型 39
3.5.6 数组类型 40
3.5.7 对象类型 42
3.5.8 NULL类型 42
3.5.9 资源类型 42
3.5.10 数据类型之间的相互转换 42
3.6 PHP 7的新变化1—整数类型处理机制的修改 43
3.7 PHP 7的新变化2—标量类型的声明 44
3.8 运算符 45
3.8.1 算术运算符 45
3.8.2 字符串运算符 46
3.8.3 赋值运算符 47
3.8.4 比较运算符 47
3.8.5 逻辑运算符 48
3.8.6 按位运算符 49
3.8.7 否定控制运算符 50
3.8.8 错误控制运算符 50
3.8.9 三元运算符 50
3.8.10 运算符的优先级和结合规则 51
3.9 PHP 7的新变化3—合并运算符和组合运算符 51
3.10 表达式 53
3.11 实战演练—创建二维数组 53
3.12 高手甜点 54
第4章 PHP的语言结构 55
4.1 内置函数 55
4.2 自定义函数 56
4.2.1 自定义函数和调用函数 56
4.2.2 向函数传递参数值 56
4.2.3 向函数传递参数引用 57
4.2.4 从函数中返回值 58
4.2.5 对函数的引用 59
4.2.6 对函数取消引用 60
4.3 PHP 7的新变化1—声明函数返回值的类型 60
4.4 PHP 7的新变化2—新增intdiv()函数 61
4.5 PHP 7的新变化3—括号在变量或函数中的变化 61
4.6 PHP 7的新变化4—参数处理机制的修改 62
4.7 包含文件 63
4.7.1 require和include 64
4.7.2 include_once和require_once 65
4.8 流程控制 65
4.8.1 条件控制结构 65
4.8.2 循环控制结构 70
4.9 实战演练1—条件分支结构综合应用 77
4.10 实战演练2—循环控制结构综合应用 78
4.11 高手甜点 79
第5章 字符串和正则表达式 80
5.1 字符串的单引号和双引号 80
5.2 字符串的连接符 81
5.3 字符串的基本操作 82
5.3.1 手动和自动转义字符串中的字符 82
5.3.2 计算字符串的长度 83
5.3.3 字符串中单词的统计 84
5.3.4 清理字符串中的空格 84
5.3.5 字符串的切分与组合 85
5.3.6 字符串中子串的截取 86
5.3.7 字符串中子串的替换 88
5.3.8 字符串的查找 88
5.3.9 字母大小写的转换 89
5.4 PHP 7的新变化—字符串处理机制的修改 90
5.5 什么是正则表达式 91
5.6 正则表达式的语法规则 91
5.7 实战演练—创建酒店系统在线订房表 95
5.8 高手甜点 98
第6章 PHP数组 100
6.1 什么是数组 100
6.2 数组的类型 101
6.2.1 数字索引数组 101
6.2.2 关联索引数组 102
6.3 PHP 7的新变化1—常量数组 102
6.4 数组构造 103
6.4.1 一维数组 103
6.4.2 多维数组 103
6.5 遍历数组 105
6.5.1 遍历一维数字索引数组 105
6.5.2 遍历一维联合索引数组 106
6.5.3 遍历多维数组 107
6.6 数组排序 108
6.6.1 一维数组排序 108
6.6.2 多维数组排序 110
6.7 字符串与数组的转换 111
6.8 向数组中添加和删除元素 112
6.8.1 向数组中添加元素 112
6.8.2 从数组中删除元素 113
6.9 查询数组中的指定元素 114
6.10 统计数组元素个数 116
6.11 删除数组中的重复元素 117
6.12 调换数组中的键值和元素值 118
6.13 PHP 7的新变化2—自动创建元素之顺序的改变 119
6.14 PHP 7的新变化3—list()函数修改数组的改变 120
6.15 PHP 7的新变化4—foreach()函数修改数组的改变 121
6.16 实战演练—序列化和反序列化 123
6.17 高手甜点 124
第7章 时间和日期 125
7.1 系统时区设置 125
7.1.1 时区划分 125
7.1.2 时区设置 125
7.2 PHP日期和时间函数 126
7.2.1 关于UNIX时间戳 126
7.2.2 获取当前时间戳 126
7.2.3 获取当前日期和时间 127
7.2.4 使用时间戳获取日期信息 128
7.2.5 检验日期的有效性 129
7.2.6 输出格式化时间戳的日期和时间 130
7.2.7 显示本地化的日期和时间 131
7.2.8 将日期和时间解析为UNIX时间戳 132
7.2.9 日期和时间在PHP和MySQL数据格式之间的转换 133
7.3 实战演练1—比较两个时间的大小 133
7.4 实战演练2—实现倒计时功能 134
7.5 高手甜点 134
第8章 面向对象编程 136
8.1 类和对象的介绍 136
8.2 PHP中类的操作 137
8.2.1 类的声明 137
8.2.2 成员属性 138
8.2.3 成员方法 138
8.2.4 类的实例化 138
8.2.5 访问类中的成员属性和方法 139
8.3 构造函数和析构函数 141
8.4 访问器 142
8.5 类的继承 144
8.6 高级特性 144
8.6.1 静态属性和方法 145
8.6.2 final类和方法 145
8.7 抽象类和接口 147
8.7.1 抽象类 147
8.7.2 接口 148
8.8 面向对象的多态 149
8.8.1 通过继承实现多态 149
8.8.2 通过接口实现多态 150
8.9 PHP 7的新变化—支持匿名类 151
8.10 高手甜点 152
第9章 错误处理和异常处理 154
9.1 常见的错误和异常 154
9.2 错误处理 157
9.2.1 php.ini中的错误处理机制 157
9.2.2 应用DIE语句进行调试 158
9.2.3 自定义错误和错误触发器 158
9.2.4 错误日志 161
9.3 异常处理 162
9.3.1 异常的基本处理方法 162
9.3.2 自定义的异常处理器 164
9.3.3 处理多个异常 165
9.3.4 设置顶层异常处理器 166
9.4 PHP 7的新变化1—改变了错误的报告方式 167
9.5 PHP 7的新变化2—清除*后一次错误 168
9.6 实战演练—处理异常或错误 169
9.7 高手甜点 170
第10章 PHP与Web页面交互 171
10.1 使用动态内容 171
10.2 表单与PHP 172
10.3 表单设计 172
10.3.1 表单的基本结构 173
10.3.2 文本框 173
10.3.3 选项框 174
10.3.4 单选按钮 175
10.3.5 下拉列表 177
10.3.6 重置按钮 178
10.3.7 提交按钮 179
10.4 传递数据的两种方法 181
10.4.1 用POST方式传递数据 181
10.4.2 用GET方式传递数据 182
10.5 PHP获取表单传递数据的方法 183
10.6 PHP对URL传递的参数进行编码 183
10.7 实战演练—PHP与Web表单的综合应用 184
10.8 高手甜点 186
第11章 文件与目录操作 187
11.1 文件操作 187
11.1.1 文件数据的写入 187
11.1.2 文件数据的读取 190
11.2 目录操作 192
11.3 文件的上传 196
11.3.1 全局变量$_FILES 196
11.3.2 文件上传 197
11.4 实战演练—编写文本类型的访客计算器 199
11.5 高手甜点 200
第12章 图形图像处理 201
12.1 在PHP中加载GD库 201
12.2 图形图像的典型应用案例 203
12.2.1 创建一个简单的图像 203
12.2.2 使用GD2函数在照片上添加文字 205
12.2.3 使用TrueType字体处理中文生成图片 206
12.3 JpGraph库的使用 208
12.3.1 JpGraph的安装 208
12.3.2 JpGraph的配置 209
12.4 制作圆形统计图 209
12.5 实战演练—制作3D饼形统计图 212
12.6 高手甜点 213
第13章 Cookie和会话管理 215
13.1 Cookie的基本操作 215
13.1.1 什么是Cookie 215
13.1.2 创建Cookie 216
13.1.3 读取Cookie 216
13.1.4 删除Cookie 217
13.2 认识Session 219
13.2.1 什么是Session 219
13.2.2 Session的基本功能 219
13.2.3 Cookie与Session 219
13.2.4 在Cookie或URL中存储SessionID 219
13.3 会话管理 220
13.3.1 创建会话 220
13.3.2 注册会话变量 221
13.3.3 使用会话变量 221
13.3.4 注销和销毁会话变量 222
13.4 实战演练—会话管理的综合应用 222
13.5 高手甜点 223
第14章 MySQL数据库基础 225
14.1 在Windows平台下安装与配置MySQL 8.0 225
14.1.1 安装MySQL 8.0 225
14.1.2 配置MySQL 8.0 229
14.2 启动服务并登录MySQL数据库 234
14.2.1 启动MySQL服务 234
14.2.2 登录MySQL数据库 235
14.2.3 配置Path变量 237
14.3 MySQL常用图形管理工具 238
14.4 高手甜点 239
第15章 操作数据库和数据表 240
15.1 创建数据库 240
15.2 删除数据库 241
15.3 创建数据表 242
15.3.1 创建表的语法形式 242
15.3.2 使用主键约束 243
15.3.3 使用外键约束 244
15.3.4 使用非空约束 246
15.3.5 使用*性约束 246
15.3.6 使用默认约束 247
15.3.7 设置表的属性值自动增加 247
15.4 查看数据表结构 248
15.4.1 查看表基本结构的语句DESCRIBE 248
15.4.2 查看表详细结构的语句SHOW CREATE TABLE 249
15.5 修改数据表 250
15.5.1 修改表名 250
15.5.2 修改字段的数据类型 251
15.5.3 修改字段名 252
15.5.4 添加字段 253
15.5.5 删除字段 255
15.5.6 修改字段的排列位置 255
15.5.7 更改表的存储引擎 256
15.5.8 删除表的外键约束 258
15.6 删除数据表 259
15.6.1 删除没有被关联的表 259
15.6.2 删除被其他表关联的主表 260
15.7 实战演练—数据表的基本操作 262
15.8 高手甜点 269
第16章 数据的基本操作 271
16.1 插入数据 271
16.1.1 为表的所有字段插入数据 271
16.1.2 为表的指定字段插入数据 273
16.1.3 同时插入多条记录 274
16.2 更新数据 276
16.3 删除数据 277
16.4 查询数据 279
16.4.1 查询所有字段 281
16.4.2 查询指定字段 282
16.4.3 查询指定记录 283
16.4.4 带IN关键字的查询 285
16.4.5 带BETWEEN AND的范围查询 286
16.4.6 带LIKE的字符匹配查询 287
16.4.7 查询NULL(空值) 289
16.4.8 带AND的多条件查询 289
16.5 实战演练—数据表综合应用案例 290
16.6 高手甜点 297
第17章 PHP操作MySQL数据库 298
17.1 PHP访问MySQL数据库的一般步骤 298
17.2 连接数据库前的准备工作 298
17.3 访问数据库 299
17.3.1 调用mysqli_connect()函数连接MySQL服务器 299
17.3.2 调用mysqli_select_db()函数更改默认的数据库 301
17.3.3 调用mysqli_close()函数关闭MySQL连接 301
17.3.4 调用mysqli_query()函数执行SQL语句 302
17.3.5 获取查询结果集中的记录数 303
17.3.6 获取结果集中的一条记录作为枚举数组 303
17.3.7 获取结果集中的记录作为关联数组 304
17.3.8 获取结果集中的记录作为对象 305
17.3.9 调用mysqli_fetch_array()函数获取结果集中的记录 306
17.3.10 调用mysqli_free_result()函数释放资源 306
17.4 实战演练1—PHP操作数据库 306
17.5 实战演练2—使用insert语句动态添加用户信息 308
17.6 实战演练3—使用select语句查询数据信息 310
17.7 高手甜点 312
第18章 PDO数据库抽象类库 313
18.1 PDO概述 313
18.2 PDO的安装 314
18.3 使用PDO操作MySQL 314
18.3.1 连接MySQL数据库的方法 315
18.3.2 使用PDO时的try catch异常处理结构 315
18.3.3 使用PDO执行SQL的选择语句 317
18.3.4 使用PDO获取返回数据的类方法 318
18.3.5 使用PDO执行SQL的添加、修改语句 320
18.3.6 使用PDO执行SQL的删除语句 321
18.4 实战演练—PDO的prepare表述 322
18.5 高手甜点 323
第19章 网站安全加密技术 325
19.1 使用加密函数 325
19.1.1 md5()函数 325
19.1.2 crypt()函数 326
19.1.3 sha1()函数 327
19.2 使用加密扩展库 327
19.2.1 安装Mcrypt扩展库和Mhash扩展库 328
19.2.2 使用Mcrypt扩展库 328
19.2.3 使用Mhash扩展库 330
19.3 高手甜点 331
第20章 ThinkPHP框架 332
20.1 什么是ThinkPHP框架 332
20.2 下载和安装ThinkPHP 5.0框架 333
20.3 ThinkPHP 5.0框架的目录结构 334
20.4 配置虚拟主机和部署框架 336
20.5 如何使用ThinkPHP 5.0框架 338
20.5.1 URL访问 339
20.5.2 入口文件 340
20.5.3 ThinkPHP 5.0框架的执行流程 341
20.5.4 项目开发规范 344
20.6 ThinkPHP 5.0的配置 345
20.6.1 配置目录 345
20.6.2 配置格式 346
20.7 ThinkPHP的控制器 347
20.7.1 定义控制器 347
20.7.2 控制器的初始化 350
20.7.3 跳转和重定向 351
20.8 数据库的基本操作 353
20.8.1 连接数据库 353
20.8.2 运行SQL操作 357
20.9 ThinkPHP的模型 357
20.10 ThinkPHP的视图 358
20.11 高手甜点 360
第21章 项目集训1—开发网上商城 361
21.1 系统功能描述 361
21.2 系统功能及实现方法 362
21.2.1 系统功能分析 362
21.2.2 数据流程和数据库 363
21.3 代码的具体实现 365
21.4 程序运行 376
第22章 项目集训2—开发酒店管理系统网站 380
22.1 网站的需求分析 380
22.2 数据库分析 380
22.3 酒店管理系统的实现 383
22.3.1 使用Yii框架的沙箱模式创建项目 383
22.3.2 开始goodone项目编程 385
22.3.3 构建message系统 388
22.3.4 构建product系统 395
22.3.5 构建order系统 397
22.3.6 构建customer系统 398
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问