章 初识PHP 1
1.1 PHP的来龙去脉 1
1.1.1 PHP的概念 1
1.1.2 PHP的发展历程 2
1.1.3 PHP的优势 2
1.2 PHP能干什么 3
1.3 PHP 7的新特点 4
1.4 PHP常用开发工具 6
1.4.1 PHP代码开发工具 6
1.4.2 网页设计工具 7
1.4.3 文本编辑工具 7
1.5 高手甜点 8
第2章 PHP 7服务器环境配置 9
2.1 PHP服务器概述 9
2.2 安装PHP 7前的准备工作 10
章 初识PHP 1
1.1 PHP的来龙去脉 1
1.1.1 PHP的概念 1
1.1.2 PHP的发展历程 2
1.1.3 PHP的优势 2
1.2 PHP能干什么 3
1.3 PHP 7的新特点 4
1.4 PHP常用开发工具 6
1.4.1 PHP代码开发工具 6
1.4.2 网页设计工具 7
1.4.3 文本编辑工具 7
1.5 高手甜点 8
第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服务器安装配置 12
2.3.1 IIS简介及其安装 12
2.3.2 PHP的安装 13
2.3.3 虚拟目录的设置 16
2.4 PHP 7+Apache服务器的环境搭建 18
2.4.1 Apache简介 18
2.4.2 关闭原有的网站服务器 18
2.4.3 安装Apache 19
2.4.4 将PHP与Apache建立关联 19
2.5 新手的福音—PHP环境的集成软件 21
2.6 实战演练——我的个PHP程序 23
2.7 高手甜点 24
第3章 PHP的基本语法 26
3.1 PHP 7的标记风格 26
3.2 编码规范 27
3.2.1 什么是编码规范 27
3.2.2 PHP中的编码规范 28
3.3 常 量 29
3.3.1 声明和使用常量 30
3.3.2 内置常量 30
3.4 变 量 32
3.4.1 PHP中的变量声明 32
3.4.2 可变变量与变量的引用 33
3.4.3 变量作用域 34
3.4.4 变量的销毁 38
3.5 数据类型 39
3.5.1 什么是类型 39
3.5.2 整型 39
3.5.3 浮点型 40
3.5.4 布尔型 40
3.5.5 字符串型 40
3.5.6 数组型 41
3.5.7 对象型 43
3.5.8 NULL型 43
3.5.9 资源类型 44
3.5.10 数据类型之间的相互转换 44
3.6 PHP 7的新变化1——整型处理机制的修改 45
3.7 PHP 7的新变化2——标量类型的声明 45
3.8 运算符 47
3.8.1 算术运算符 47
3.8.2 字符串运算符 48
3.8.3 赋值运算符 48
3.8.4 比较运算符 48
3.8.5 逻辑运算符 50
3.8.6 按位运算符 50
3.8.7 否定控制运算符 51
3.8.8 错误控制运算符 51
3.8.9 三元运算符 52
3.8.10 运算符的优先级和结合规则 52
3.9 PHP 7的新变化3——合并运算符和组合运算符 53
3.10 表达式 54
3.11 实战演练—创建二维数组 54
3.12 高手甜点 55
第4章 PHP的语言结构 57
4.1 内置函数 57
4.2 自定义函数 58
4.2.1 自定义和调用函数 58
4.2.2 向函数传递参数值 59
4.2.3 向函数传递参数引用 59
4.2.4 从函数中返回值 60
4.2.5 对函数的引用 61
4.2.6 对函数取消引用 62
4.3 PHP 7的新变化1——声明函数返回值的类型 62
4.4 PHP 7的新变化2——新增intdiv()函数 63
4.5 PHP 7的新变化3——括号在变量或函数中变化 64
4.6 PHP 7的新变化4——参数处理机制的修改 65
4.7 包含文件 66
4.7.1 require和include 66
4.7.2 include_once和require_once 67
4.8 流程控制 68
4.8.1 条件控制结构 68
4.8.2 循环控制结构 72
4.9 实战演练1—条件分支结构综合应用 79
4.10 实战演练2—循环控制结构综合应用 81
4.11 高手甜点 82
第5章 字符串和正则表达式 83
5.1 字符串的单引号和双引号 83
5.2 字符串的连接符 85
5.3 字符串的基本操作 86
5.3.1 手动和自动转义字符串中的字符 86
5.3.2 计算字符串的长度 86
5.3.3 字符串单词统计 87
5.3.4 清理字符串中的空格 88
5.3.5 字符串的切分与组合 89
5.3.6 字符串子串的截取 89
5.3.7 字符串子串替换 91
5.3.8 字符串查找 91
5.3.9 大小写转换 92
5.4 PHP 7的新变化——字符串处理机制的修改 93
5.5 什么是正则表达式 94
5.6 正则表达式的语法规则 94
5.7 实战演练—创建酒店系统在线订房表 99
5.8 高手甜点 102
第6章 PHP数组 103
6.1 什么是数组 103
6.2 数组的类型 104
6.2.1 数字索引数组 104
6.2.2 关联索引数组 105
6.3 PHP 7的新变化1——常量数组 106
6.4 数组构造 106
6.4.1 一维数组 106
6.4.2 多维数组 107
6.5 遍历数组 109
6.5.1 遍历一维数字索引数组 109
6.5.2 遍历一维联合索引数组 109
6.5.3 遍历多维数组 111
6.6 数组排序 112
6.6.1 一维数组排序 112
6.6.2 多维数组排序 113
6.7 字符串与数组的转换 115
6.8 向数组中添加和删除元素 115
6.8.1 向数组中添加元素 115
6.8.2 从数组中删除元素 117
6.9 查询数组中的指定元素 118
6.10 统计数组元素个数 120
6.11 删除数组中的重复元素 121
6.12 调换数组中的键值和元素值 122
6.13 PHP 7的新变化2——自动创建元素的顺序的改变 123
6.14 PHP 7的新变化3——list()函数修改数组的改变 124
6.15 PHP 7的新变化4——foreach()函数修改数组的改变 126
6.16 实战演练—序列化和反序列化 128
6.17 高手甜点 129
第7章 时间和日期 130
7.1 系统时区设置 130
7.1.1 时区划分 130
7.1.2 时区设置 131
7.2 PHP日期和时间函数 131
7.2.1 关于UNIX时间戳 131
7.2.2 获取当前时间戳 131
7.2.3 获取当前日期和时间 132
7.2.4 使用时间戳获取日期信息 133
7.2.5 检验日期的有效性 135
7.2.6 输出格式化时间戳的日期和时间 136
7.2.7 显示本地化的日期和时间 137
7.2.8 将日期和时间解析为UNIX时间戳 138
7.2.9 日期和时间在PHP和MySQL数据格式之间的转换 139
7.3 实战演练1——比较两个时间的大小 139
7.4 实战演练2——实现倒计时功能 140
7.5 高手甜点 140
第8章 面向对象编程 142
8.1 类和对象的介绍 142
8.2 PHP中类的操作 143
8.2.1 类的声明 143
8.2.2 成员属性 144
8.2.3 成员方法 144
8.2.4 类的实例化 144
8.2.5 访问类中的成员属性和方法 145
8.3 构造方法和析构方法 147
8.4 访问方法 149
8.5 类的继承 150
8.6 不错特性 151
8.6.1 静态属性和方法 151
8.6.2 final类和方法 152
8.7 抽象类和接口 153
8.7.1 抽象类 153
8.7.2 接口 154
8.8 面向对象的多态性 156
8.8.1 通过继承实现多态 156
8.8.2 通过接口实现多态 157
8.9 PHP 7的新变化——支持匿名类 158
8.10 高手甜点 159
第9章 错误处理和异常处理 160
9.1 常见的错误和异常 160
9.2 错误处理 163
9.2.1 php.ini中的错误处理机制 163
9.2.2 应用DIE语句调试 164
9.2.3 自定义错误和错误触发器 165
9.2.4 错误记录 168
9.3 异常处理 169
9.3.1 异常的基本处理方法 169
9.3.2 自定义的异常处理器 171
9.3.3 处理多个异常 172
9.3.4 设置顶层异常处理器 173
9.4 PHP 7的新变化1——改变了错误的报告方式 174
9.5 PHP 7的新变化2——清除后一次错误 175
9.6 实战演练—处理异常或错误 175
9.7 高手甜点 176
0章 PHP与Web页面交互 178
10.1 使用动态内容 178
10.2 表单与PHP 179
10.3 表单设计 180
10.3.1 表单的基本结构 180
10.3.2 文本框 180
10.3.3 选项框 181
10.3.4 单选按钮 183
10.3.5 下拉列表 184
10.3.6 重置按钮 186
10.3.7 提交按钮 186
10.4 传递数据的两种方法 189
10.4.1 用POST方式传递数据 189
10.4.2 用GET方式传递数据 189
10.5 PHP获取表单传递数据的方法 190
10.6 PHP对URL传递的参数进行编码 190
10.7 实战演练——PHP与Web表单的综合应用 191
10.8 高手甜点 193
1章 文件与目录操作 194
11.1 文件操作 194
11.1.1 文件数据的写入 194
11.1.2 文件数据的读取 197
11.2 目录操作 199
11.3 文件的上传 203
11.3.1 全局变量$_FILES 203
11.3.2 文件上传 204
11.4 实战演练—编写文本类型的访客计算器 206
11.5 高手甜点 207
2章 图形图像处理 208
12.1 在PHP中加载GD库 208
12.2 图形图像的典型应用案例 210
12.2.1 创建一个简单的图像 210
12.2.2 使用GD2函数在照片上添加文字 212
12.2.3 使用TrueType字体处理中文生成图片 213
12.3 JpGraph库的使用 215
12.3.1 JpGraph的安装 215
12.3.2 JpGraph的配置 216
12.4 制作圆形统计图 217
11.5 实战演练—制作3D饼形统计图 219
12.6 高手甜点 220
3章 Cookie和会话管理 222
13.1 Cookie的基本操作 222
13.1.1 什么是Cookie 222
13.1.2 创建Cookie 223
13.1.3 读取Cookie 223
13.1.4 删除Cookie 224
13.2 认识Session 226
13.2.1 什么是Session 226
13.2.2 Session的基本功能 226
13.2.3 Cookie与Session 226
13.2.4 在Cookie或URL中存储SessionID 226
13.3 会话管理 227
13.3.1 创建会话 227
13.3.2 注册会话变量 228
13.3.3 使用会话变量 228
13.3.4 注销和销毁会话变量 229
13.4 实战演练—会话管理的综合应用 229
13.5 高手甜点 230
4章 MySQL数据库基础 232
14.1 Windows平台下安装与配置MySQL 232
14.1.1 安装MySQL 5.7 232
14.1.2 配置MySQL 5.7 236
14.2 启动服务并登录MySQL数据库 240
14.2.1 启动MySQL服务 241
14.2.2 登录MySQL数据库 242
14.2.3 配置Path变量 243
14.3 MySQL数据库的基本操作 245
14.3.1 创建数据库 245
14.3.2 查看数据库 245
14.3.3 删除数据库 246
14.3.4 选择数据库 247
14.4 MySQL数据表的基本操作 247
14.4.1 创建数据表 247
14.4.2 查看数据表 248
14.4.3 修改数据表 250
14.4.4 删除数据表 251
14.5 MySQL语句的操作 251
14.5.1 插入记录 251
14.5.2 查询记录 252
14.5.3 修改记录 252
14.5.4 删除记录 253
14.6 MySQL数据库的备份与还原 253
14.6.1 数据备份 253
14.6.2 数据还原 260
14.7 高手甜点 262
5章 PHP操作MySQL数据库 263
15.1 PHP访问MySQL数据库的一般步骤 263
15.2 连接数据库前的准备工作 264
15.3 访问数据库 265
15.3.1 使用mysqli_connect()函数连接MySQL服务器 265
15.3.2 使用mysqli_select_db()函数更改默认的数据库 266
15.3.3 使用mysqli_close()函数关闭MySQL连接 267
15.3.4 使用mysqli_query()函数执行SQL语句 267
15.3.5 获取查询结果集中的记录数 268
15.3.6 获取结果集中的一条记录作为枚举数组 269
15.3.7 获取结果集中的记录作为关联数组 270
15.3.8 获取结果集中的记录作为对象 270
15.3.9 使用mysqli_fetch_array()函数获取结果集记录 271
15.3.10 使用mysqli_free_result()函数释放资源 271
15.4 实战演练1——PHP操作数据库 272
15.5 实战演练2——使用insert语句动态添加用户信息 273
15.6 实战演练3—使用select语句查询数据信息 276
15.7 高手甜点 277
6章 PDO数据库抽象类库 279
16.1 PDO概述 279
16.2 PDO的安装 280
16.3 使用PDO操作MySQL 280
16.3.1 连接MySQL数据库的方法 281
16.3.2 使用PDO时的try catch错误处理结构 281
16.3.3 使用PDO执行SQL的选择语句 284
16.3.4 使用PDO获取返回数据的类方法 284
16.3.5 使用PDO执行SQL的添加、修改语句 287
16.3.6 使用PDO执行SQL的删除语句 287
16.4 实战演练—PDO的prepare表述 288
16.5 高手甜点 290
7章 安全加密技术 291
17.1 使用加密函数 291
17.1.1 md5()函数 291
17.1.2 crypt()函数 292
17.1.3 sha1()函数 293
17.2 使用加密扩展库 294
17.2.1 安装Mcrypt扩展库和Mhash扩展库 294
17.2.2 使用Mcrypt扩展库 295
17.2.3 使用Mhash扩展库 296
17.3 高手甜点 298
8章 PHP与XML技术 299
18.1 XML的概念 299
18.2 XML语法基础 301
18.2.1 XML文档的组成和声明 301
18.2.2 XML元素介绍 302
18.2.3 实体引用 305
18.2.4 XML命名空间 305
18.2.5 XML DTD 306
18.2.6 使用CDATA标记 307
18.3 将XML文档转换为HTML加以输出 307
18.4 在PHP中创建XML文档 308
18.5 使用SimpleXML扩展 309
18.5.1 创建SimpleXMLElement对象 309
18.5.2 访问特定节点元素和属性 311
18.5.3 添加XML元素和属性 312
18.6 实战演练—动态创建XML文档 313
18.7 高手甜点 314
9章 PHP与Ajax的综合应用 315
19.1 Ajax概述 315
19.1.1 什么是Ajax 315
19.1.2 Ajax的关键元素 318
19.1.3 CSS与Ajax 319
19.2 Ajax快速入门 319
19.2.1 全面剖析XMLH T T PRequest对象 319
19.2.2 发出Ajax请求 321
19.2.3 处理服务器响应 323
19.3 在PHP中应用Ajax技术 324
19.4 高手甜点 329
第20章 MVC和Smarty模板 331
20.1 MVC概述 331
20.2 什么是模板引擎 332
20.3 Smarty概述 333
20.3.1 什么是Smarty 333
20.3.2 Smarty与MVC 333
20.4 Smarty的安装和配置 334
20.4.1 Smarty的下载和安装 334
20.4.2 个Smarty程序 334
20.5 Smarty模板设计 335
20.5.1 Smarty模板文件 335
20.5.2 Smarty标识 336
20.5.3 Smarty变量 338
20.5.4 Smarty数组 339
20.6 Smarty中的流程控制语句 340
20.7 高手甜点 342
第21章 Zend Framework 343
21.1 什么是Zend Framework 343
21.2 Zend Framework的目录结构 344
21.3 Zend Framework的安装与使用 344
21.3.1 Zend Framework的安装 344
21.3.2 创建一个新的Zend Framework应用 345
21.4 PHP与Zend Framework的基本操作 348
21.4.1 在Zend Framework应用中创建控制层文件 348
21.4.2 在Zend Framework的控制层文件中添加一个action 349
21.4.3 在Zend Framework中创建布局 350
21.4.4 在Zend Framework中的数据库操作 351
21.4.5 在Zend Framework中创建表单 352
21.5 高手甜点 354
第22章 ThinkPHP框架 355
22.1 什么是ThinkPHP框架 355
22.2 下载和安装ThinkPHP 5.0框架 356
22.3 ThinkPHP 5.0框架的目录结构 358
22.4 配置虚拟主机和部署框架 359
22.5 如何使用ThinkPHP 5.0框架 362
22.5.1 URL访问 362
22.5.2 入口文件 364
22.5.3 ThinkPHP 5.0框架的执行流程 365
22.5.4 项目开发规范 368
22.6 ThinkPHP 5.0的配置 369
22.6.1 配置目录 369
22.6.2 配置格式 370
22.7 ThinkPHP的控制器 372
22.7.1 定义控制器 372
22.7.2 控制器的初始化 375
22.7.3 跳转和重定向 376
22.8 数据库的基本操作 377
22.8.1 连接数据库 377
22.8.2 运行SQL操作 381
22.9 ThinkPHP的模型 382
22.10 ThinkPHP的视图 383
22.11 高手甜点 385
第23章 开发网上商城 386
23.1 系统功能描述 386
23.2 系统功能分析 387
23.2.1 系统功能分析 387
23.2.2 数据流程和数据库 388
23.3 代码的具体实现 391
23.4 程序运行 402
第24章 开发酒店管理系统网站 405
24.1 网站的需求分析 405
24.2 数据库分析 406
24.3 酒店管理系统的实现 408
24.3.1 使用Yii框架的沙箱模式建立项目 408
24.3.2 开始goodone项目编程 410
24.3.3 构建message系统 414
24.3.4 构建product系统 421
24.3.5 构建order系统 423
24.3.6 构建customer系统 424