第1部分 引言和概述 1
第1章 编译和安装PHP4 1
1.1 引言 1
1.2 下载PHP 1
1.3 安装可执行版本 1
1.3.1 Windows中可执行版本的安装 1
1.3.2 其他可执行版本的安装 4
1.4 编译PHP 5
1.4.1 在*nix平台上编译PHP 6
1.4.2 在Windows上编译PHP 10
1.4.3 编译PHP的小结 12
1.5 配置PHP的运行时选项 12
1.5.1 使用php.ini文件 13
1.5.2 修改PHP运行时配置的其他方法 13
1.6 小结 15
第2章 语言 16
2.1 引言 16
2.2 常规语法 16
2.3 类型 17
2.3.1 数字:整数和浮点数 17
2.3.2 字符串 18
2.3.3 数组 19
2.4 变量和常量 20
2.4.1 预定义的变量 21
2.4.2 变量作用域 22
2.4.3 常量 23
2.5 操作符和操作符优先级 23
2.6 程序流程控制 26
2.6.1 if,else,elseif 26
2.6.2 while 26
2.6.3 do...while 27
2.6.4 for 27
2.6.5 foreach 28
2.6.6 switch 28
2.6.7 break和continue 30
2.6.8 include和require 32
2.7 函数 32
2.7.1 面向对象和类 34
2.8 模式匹配 36
2.9 小结 36
第2部分 Web开发中的特殊考虑 37
第3章 表单和Cookie 37
3.1 引言 37
3.2 处理PHP中的表单 37
3.2.1 单值和多值的表单元素 38
3.2.2 检索表单值的替代方法 39
3.2.3 使用表单上载文件 40
3.2.4 使用图片作为提交按钮 43
3.3 验证表单数据 43
3.3.1 通过正则表达式验证数据 44
3.3.2 通过类型检查验证数据 44
3.3.3 Validator类 46
3.4 Cookie 47
3.5 Web开发中的特殊考虑 50
3.5.1 处理错误数据 50
3.5.2 处理和重新格式化数据用于显示 52
3.6 小结 57
第4章 文件操作 58
4.1 引言 58
4.2 文件读写 58
4.3 使用套接字 60
4.4 使用管道 60
4.5 Flie类 61
4.6 小结 63
第5章 表单和文件上载 64
5.1 引言 64
5.2 上载单一文件 64
5.3 文件上载的特殊考虑 66
5.4 上载文件序列 67
5.5 安全性 68
5.6 小结 69
第6章 数据库操作 70
6.1 引言 70
6.2 简介 70
6.3 数据库函数 71
6.4 MySQL 71
6.4.1 MySQL起步 71
6.4.2 使用MySQL 71
6.5 ODBC 75
6.5.1 ODBC起步 75
6.5.2 使用ODBC 78
6.6 PHPLIB 79
6.7 表单和数据存储 80
6.8 使用DBMS的强大功能 84
6.9 小结 85
第7章 会话和应用程序状态 86
7.1 引言 86
7.2 理解会话 86
7.3 PHP内建的会话管理 86
7.3.1 PHP会话初步 87
7.3.2 不使用Cookie传播会话ID 89
7.3.3 在数据库中存储会话变量 92
7.3.4 其他的PHP会话函数和选项 97
7.4 使用PHPLIB进行会话管理 99
7.5 开发自定义的会话管理 101
7.6 软件工程和会话 101
7.7 小结 103
第8章 认证 104
8.1 引言 104
8.2 使用Apache进行基本认证 104
8.3 使用PHP更新.htaccess文件 106
8.4 使用PHP进行基本认证 110
8.5 完全基于PHP的认证 111
8.6 小结 116
第9章 浏览器无关性 117
9.1 引言 117
9.2 起步 117
9.3 PHP内建函数 118
9.4 BrowserHawk 121
9.5 使用浏览器信息 125
9.6 小结 127
第3部分 Web开发中的项目管理 128
第10章 调试 128
10.1 引言 128
10.2 软件工程和调试 128
10.2.1 应用程序设计 128
10.2.2 定义开发标准 129
10.2.3 软件审查 129
10.2.4 测试 130
10.2.5 调试 130
10.3 保护性代码编写 131
10.4 用户定义的错误处理 136
10.5 高级错误处理 140
10.6 小结 146
第11章 代码重用 147
11.1 引言 147
11.2 软件工程和代码重用 147
11.3 重用现有的代码 148
11.3.1 PHP 148
11.3.2 C/C++ 150
11.3.3 Java 157
11.3.4 COM 160
11.3.5 其他应用 162
11.4 小结 164
第12章 从PHP中分离HTML 165
12.1 引言 165
12.2 概述 165
12.3 使用PHP内建函数进行分离和集成 166
12.3.1 动机 166
12.3.2 实现 167
12.3.3 要避免的情况 170
12.3.4 总结:使用PHP内建函数进行分离和合并 171
12.4 使用模板系统 172
12.4.1 FastTemplate 172
12.4.2 使用FastTemplate的高级技术 178
12.5 小结 180
第4部分 高级技术和实例 182
第13章 强大的PHP 182
13.1 引言 182
13.2 向浏览器发送非HTML文件 182
13.3 自动化脚本 187
13.4 WDDX 192
13.5 网络监视 197
13.6 小结 200
第14章 基于模板的Web站点 201
14.1 引言 201
14.2 模板基础知识 201
14.3 站点合作 211
14.4 用户个性化 214
14.5 国际化 216
14.6 小结 219
第15章 数据库驱动的Web站点 220
15.1 引言 220
15.2 数据库设计 220
15.3 数据管理应用程序 223
15.4 数据显示 232
15.5 小结 238
第16章 从动态数据生成静态HTML页面 239
16.1 引言 239
16.2 概念 239
16.3 生成静态页面 239
16.3.1 使用输出缓存 239
16.3.2 使用FastTemplate类 241
16.4 缓存技术 244
16.5 小结 246
第17章 电子商务Web站点 247
17.1 引言 247
17.2 安全性 247
17.2.1 使用SSL 247
17.2.2 证书 247
17.2.3 数据库安全性 248
17.3 付款处理 249
17.4 产品递送 256
17.5 小结 257
附录A PHP函数参考 258
附录B HP预定义变量和常量 616
B.1 变量 616
Apache变量 616
环境变量 617
PHP变量 617
B.2 常量 618
附录C PHP编译选项 619
数据库 619
电子商务 620
图形 620
杂项 621
网络 622
PHP行为 623
服务器 623
文本和语言 623
XML 624
附录D PHP配置选项 625
常规配置指令 625
邮件配置指令 627
安全模式配置指令 627
调试器配置指令 627
扩展装载指令 627
MySQL配置指令 627
mSQL配置指令 628
Postgres配置指令 628
Sybase配置指令 628
Sybase-CT配置指令 628
Informix配置指令 629
BC Math配置指令 629
浏览器功能配置指令 629
统一的ODBC配置指令 630
附录E Intermet资源 631
附录F 参考书目 632