第1章 高级PHP技巧 1
1.1 多维数组 1
1.1.1 多维数组排序 1
1.1.2 数据库驱动的数组 7
1.2 高级函数定义 15
1.2.1 递归函数 15
1.2.2 使用静态变量 21
1.2.3 匿名函数 24
1.3 原型文档语法 27
1.4 使用printf()和sprintf() 33
1.5 回顾和启示 37
第2章 开发Web应用程序 38
2.1 模块化一个Web网站 38
2.1.1 创建配置文件 39
2.1.2 创建HTML模板 46
2.1.3 创建索引文件 50
2.1.4 创建内容模块 54
2.1.5 创建搜索模块 56
2.2 使用mod_rewrite优化SEO 59
2.2.1 允许.htaccess重写 60
2.2.2 激活URL重写 63
2.3 调整浏览器缓存 67
2.4 回顾和启示 71
第3章 高级数据库概念 73
3.1 在数据库中保存会话 73
3.1.1 创建会话表 74
3.1.2 定义会话函数 75
3.1.3 使用新会话处理程序 82
3.2 处理美国的邮政编码 87
3.2.1 创建邮政编码表 87
3.2.2 创建stores表 90
3.2.3 计算距离 92
3.3 创建存储函数 97
3.4 水平显示结果 101
3.5 回顾和启示 106
第4章 面向对象编程基础知识 108
4.1 面向对象编程的理论 108
4.2 定义一个类 109
4.3 创建对象 113
4.4 $this属性 117
4.5 创建构造函数 124
4.6 创建析构函数 128
4.7 使用UML设计类 133
4.8 使用phpDocumentor生成更好的文档 135
4.9 回顾和启示 140
第5章 高级面向对象编程技术 142
5.1 高级理论 142
5.2 继承类 144
5.3 继承构造函数和析构函数 149
5.4 方法的重写 154
5.5 访问控制 158
5.6 使用范围解析操作符 166
5.7 创建静态成员 169
5.8 回顾和启示 177
第6章 再谈高级面向对象编程 178
6.1 抽象类和方法 178
6.2 接口 186
6.3 traits 194
6.4 类型提示 201
6.5 命名空间 206
6.6 回顾和启示 212
第7章 设计模式 214
7.1 理解设计模式 214
7.2 单例模式 216
7.3 工厂模式 221
7.4 组合模式 227
7.5 策略模式 237
7.6 回顾和启示 248
第8章 使用既有的类 250
8.1 捕获异常 250
8.2 扩展Exception类 258
8.3 使用PDO 266
8.3.1 连接数据库 266
8.3.2 捕获异常 267
8.3.3 执行简单查询 270
8.3.4 执行select查询 271
8.3.5 使用预定义语句 275
8.4 使用PHP标准库 279
8.4.1 文件处理 280
8.4.2 迭代器 283
8.4.3 数据结构 287
8.4.4 自动加载类 288
8.5 回顾与启示 291
第9章 面向对象编程实践:CMS系统示例 293
9.1 明确编程目标 293
9.2 创建数据库 295
9.3 制作网页模板 298
9.4 编写工具类文件 301
9.5 创建Error视图文件 305
9.6 定义需要的类 306
9.6.1 Page类 306
9.6.2 User类 309
9.7 创建主页 312
9.8 显示页面 317
9.9 使用HTML_QuickForm2 321
9.9.1 创建表单 322
9.9.2 过滤并验证表单数据 323
9.9.3 处理表单数据 324
9.10 注销登录 330
9.11 添加页面 332
9.12 回顾与启示 336
第10章 PHP网络编程 338
10.1 访问其他网站 338
10.2 PHP socket编程 343
10.3 使用IP进行地址查询 349
10.4 使用cURL 354
10.5 创建Web服务 358
10.5.1 Web服务介绍 358
10.5.2 返回多种类型的数据 359
10.5.3 创建简单Web服务 359
10.6 回顾与启示 363
第11章 PHP与服务器 364
11.1 文件压缩 364
11.2 创建cron任务 372
11.3 使用MCrypt 374
11.3.1 数据加密 375
11.3.2 数据解密 380
11.4 回顾与启示 383
第12章 PHP的命令行界面 385
12.1 测试安装 385
12.2 执行一段代码 389
12.3 可交互的PHP命令行界面 391
12.4 创建命令行脚本 392
12.5 运行命令行脚本 396
12.6 使用命令行参数 399
12.7 接收输入 403
12.8 内置服务器 407
12.9 回顾和启示 409
第13章 XML和PHP 411
13.1 什么是XML 411
13.2 XML语法 412
13.3 属性、空元素及实体 416
13.4 定义XML架构 419
13.4.1 包含DTD 420
13.4.2 定义元素 420
13.4.3 定义属性 421
13.4.4 使用XML架构 425
13.4.5 合并XSD 425
13.4.6 定义元素 425
13.4.7 简单类型与复杂类型 427
13.4.8 创建属性 427
13.5 XML解析 432
13.5.1 使用Expat解析XML 433
13.5.2 使用SimpleXML 440
13.6 创建RSS源 446
13.7 回顾与启示 451
第14章 PHP程序调试、测试与性能 453
14.1 调试工具 453
14.1.1 安装Xdebug 454
14.1.2 使用Xdebug 456
14.2 单元测试 459
14.2.1 安装PHPUnit 460
14.2.2 定义测试 461
14.2.3 创建测试用例 462
14.2.4 运行测试 465
14.2.5 建立测试 465
14.3 脚本运行分析 469
14.4 提高性能 471
14.5 回顾与启示 474