PHP 7编程实战
出版时间:2017
内容简介
Web网站的专门化和多元化发展趋势,要求网页编程语言必须满足编写出运行速度快、节省资源且具有较高安全性动态网页的需求。本书介绍的PHP 7网页编程语言就是其中的佼佼者。本书由13章构成,详细介绍了PHP 7的新增功能和中高级PHP技术,包括安装和配置PHP 7开发环境的入门知识、PHP 7的新增功能、PHP中的函数式编程功能、PHP面向对象编程功能的基础知识、使用命名空间和特性(trait)的方式、从数据库读取数据和向数据库中写入数据的方式、创建HTML表单元素的类的方式、过滤与验证数据的方式、实现SOAP和REST客户端与服务器的手段、PHP最新的国际化网页功能、遵循PSR-7编程规范编写中间件的方式、使用PHP实现高级算法(如链表、冒泡排序程序、堆栈和二分查找程序)的方式、软件设计模式、当前互联网中常见的攻击手段和相应的防护手段、加密/解密技术,以及可帮助你编写出优质代码的最佳编程习惯和调试技巧。此外,附录还介绍了PSR-7编程规范。
目录
第1章 基础知识 1
本章主要内容简介 1
安装PHP 7的注意事项 1
内置PHP Web服务器的使用方法 6
定义用于测试的MySQL数据库 7
安装PHPUnit 8
实现类自动加载 9
扫描网站 12
创建深层次的网页扫描器 16
创建将PHP 5代码转换为PHP 7代码的代码转换器 18
第2章 PHP 7中的高效功能 25
本章主要内容简介 25
了解抽象语法树 26
了解语法分析中的差异 30
了解foreach()处理过程中的差异 32
使用PHP 7中的增强功能提高性能 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