第1章 基础知识 1
本章主要内容简介 1
安装PHP7的注意事项 1
内置PHPWeb服务器的使用方法 6
定义用于测试的MySQL数据库 7
安装PHPUnit 8
实现类自动加载 9
扫描网站 12
创建深层次的网页扫描器 16
创建将PHP5代码转换为PHP7代码的代码转换器 18
第2章 PHP7中的高效功能 25
本章主要内容简介 25
了解抽象语法树 26
了解语法分析中的差异 30
了解foreach()处理过程中的差异 32
使用PHP7中的增强功能提高性能 36
遍历含有大量数据的文件 40
将电子表格上传到数据库中 43
递归式目录迭代器 46
第3章 PHP中的函数式编程功能 51
本章主要内容简介 51
开发函数 51
提示数据类型 55
设置函数返回值的数据类型 60
使用迭代器 64
使用生成器编写自己的迭代器 73
第4章 PHP中的面向对象编程功能 77
本章主要内容简介 77
开发类 77
扩展类 85
使用静态属性和方法 93
使用命名空间 97
定义可见性 102
使用接口 106
使用特性 112
实现匿名类 119
第5章 与数据库进行交互 125
本章主要内容简介 125
使用PDO连接数据库 125
创建OOP式的SQL语句生成器 139
处理分页 142
定义与数据库表匹配的实体 147
将实体类的数据类型设置为与RDBMS查询操作匹配的数据类型 152
在查询结果中嵌入二次查询操作 160
实现jQuery DataTables插件的PHP查询 164
第6章 创建可伸缩的网站 169
本章主要内容简介 169
创建通用表单元素生成器 169
创建HTML radio元素生成器 177
创建HTML select元素生成器 181
实现表单工厂 186
关联$_POST过滤器 192
关联$_POST验证器 206
将验证操作与表单关联起来 212
第7章 访问Web服务 219
本章主要内容简介 219
在PHP和XML之间转换 219
创建简单的REST客户端 223
创建简单的REST服务器 234
创建简单的SOAP客户端 243
创建简单的SOAP服务器 247
第8章 使用date/time数据类型和国际化功能 253
本章主要内容简介 253
在查看脚本中使用表情图示或表情符号 253
转换复杂的字符 256
通过浏览器数据获取用户所在地信息 258
根据用户所在地使用适当的格式显示数字 262
根据用户所在地处理货币数据 266
根据用户所在地对日期/时间(date/time)数据类型进行格式化处理 272
创建HTML式的国际化日历生成器 277
创建循环事件生成器 286
在不使用gettext工具集的情况下处理翻译工作 294
第9章 开发中间件 304
本章主要内容简介 304
通过中间件执行验证操作 304
使用中间件实现访问控制 311
使用缓存提高性能 319
实现路由功能 332
实现框架系统间的相互调用 338
使用中间件实现跨编程语言功能 347
第10章 高级算法 351
本章主要内容简介 351
使用读取器和设置器 351
实现链表 358
编写冒泡排序程序 363
实现堆栈 366
创建实现二分查找操作的类 369
实现搜索引擎 373
显示多维数组和累加合计 380
第11章 实现多种软件设计模式 388
本章主要内容简介 388
创建数组至对象水合器(array to object hydrator) 389
创建对象至数组水合器(object to array hydrator) 391
实现策略模式 393
定义映射器 404
实现对象关联映射功能 414
实现发布/订阅设计模式 426
第12章 提高网页的安全性 433
本章主要内容简介 433
过滤通过$_POST变量获得的数据 433
验证通过$_POST变量获得的数据 438
为PHP会话提供安全防护 441
通过令牌提高表单的安全性 448
创建具有较高安全性的密码生成器 454
通过验证码为表单提供安全防护 459
在不使用mcrypt加密扩展库的情况下实现加密/解密功能 474
第13章 最佳编程习惯、测试和调试 480
本章主要内容简介 480
使用特性和接口 480
通用异常处理程序 486
通用错误处理程序 490
编写简单测试 494
编写测试套件 514
生成模拟测试数据 517
使用session_start参数自定义会话 530
附录 定义PSR-7类 535
本附录主要内容简介 535
实现PSR-7值对象类 535
开发PSR-7请求类 556
定义PSR-7回应类 571