《大道PHP LAMP+Zend+开源框架整合开发与实战》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:三扬科技编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121091711
  • 页数:848 页
图书介绍:本书是由几名经验丰富,工作在网络开发第一线,并活跃在国内PHP开发社区的作者倾力编写。本书规划3个部分,第一部分是入门,让读者快速掌握基础技。第二部分开始介绍大量中、高级的技术知识,并讲解实际开发中每个知识点的用途和实例,读者不但可以学习到比较全面的技术,同时也能迅速掌握开发各种热门应用的技术。第三部分进一步加大对实际应用的讲解,引入论坛和网店和电子商务等产品技术。

第1章 迈向PHP的第一步——PHP概述 3

1.1 一起来认识PHP 3

1.1.1 PHP语言的发展史 3

1.1.2 为什么选择PHP 3

1.1.3 PHP的工作原理 4

1.2 PHP所需的Web服务器 5

1.2.1 Apache服务器 5

1.2.2 Microsoft IIS服务器 5

1.2.3 其他Web服务器 6

1.3 Win32平台下PHP运行环境的搭建 6

1.3.1 安装Apache 2 6

1.3.2 安装PHP 5 8

1.3.3 整合PHP和Apache 9

1.4 Linux平台下PHP运行环境的搭建 10

1.4.1 安装libxml 2 10

1.4.2 安装Apache 2 11

1.4.3 安装PHP 5 12

1.4.4 整合PHP和Apache 12

1.5 常用开发工具 13

1.5.1 Zend Studio 13

1.5.2 Komodo 13

1.5.3 其他常用开发工具 14

1.6 本章小结 15

第2章 打下坚实的基础——基本语法 17

2.1 从“Hello World”开始 17

2.1.1 PHP的语言概貌 18

2.1.2 为我们的程序添加注释 19

2.2 掌握PHP的数据类型 21

2.2.1 基本数据类型 21

2.2.2 复合数据类型 22

2.2.3 特殊数据类型 24

2.3 探讨数据类型之间的转换 25

2.3.1 PHP与众不同的类型转换 25

2.3.2 自动类型转换 26

2.3.3 强制类型转换 27

2.4 PHP中的变量和常量 33

2.4.1 什么是变量和常量 34

2.4.2 变量的定义与赋值 34

2.4.3 变量作用域 36

2.4.4 静态变量 37

2.4.5 可变变量 38

2.4.6 默认系统变量 39

2.4.7 常量的定义 39

2.4.8 默认系统常量 40

2.5 控制运算——表达式和运算符 41

2.5.1 算术运算符 41

2.5.2 赋值运算符 42

2.5.3 位运算符 43

2.5.4 比较运算符 44

2.5.5 逻辑运算符 45

2.5.6 字符串运算符 46

2.5.7 数组运算符 46

2.5.8 类型运算符 47

2.5.9 错误抑制运算符 48

2.5.10 执行运算符 48

2.5.11 判断运算符 49

2.5.12 运算符的优先级 49

2.6 何去何从——流程控制语句 50

2.6.1 if/else/elseif选择语句 51

2.6.2 switch选择语句 52

2.6.3 while/do…while循环语句 54

2.6.4 for循环语句 55

2.6.5 foreach循环语句 56

2.6.6 break跳转语句 57

2.6.7 continue跳转语句 57

2.7 本章小结 58

第3章 开发变得更加简单——使用函数 59

3.1 定义并使用函数 59

3.1.1 定义函数 59

3.1.2 函数的调用方法 60

3.2 函数的返回值 61

3.2.1 单一返回值 61

3.2.2 多返回值 62

3.3 函数的重要元素——参数 62

3.3.1 参数的声明方式 62

3.3.2 参数的默认值 63

3.3.3 参数的两种传递方式——值传递和引用传递 64

3.4 在哪里起作用——函数的作用域 65

3.5 变量函数 66

3.6 PHP内置函数 67

3.6.1 工具函数 67

3.6.2 数学函数 71

3.6.3 日期函数 73

3.6.4 文件包含函数 77

3.7 本章小结 79

第4章 比一般变量强大——使用数组 81

4.1 认清数组的真面目 81

4.1.1 什么是数组 81

4.1.2 数组的两种类型——索引数组和关联数组 81

4.2 数组也有不同 82

4.2.1 一维数组 83

4.2.2 二维数组 83

4.2.3 多维数组 84

4.3 让数组为我们服务 84

4.3.1 创建一个数组 85

4.3.2 添加数组元素 85

4.3.3 更新数组元素 86

4.3.4 删除数组元素 86

4.3.5 遍历数组元素 86

4.4 我们可以更“懒”一些——使用数组函数 88

4.4.1 用于实现排序的函数 88

4.4.2 用于实现随机排序的函数 90

4.4.3 数组判断函数 91

4.4.4 数组的合并与拆分 94

4.4.5 其他常用数组函数 96

4.5 数组的应用实例 99

4.5.1 顺序查找 99

4.5.2 二分查找 100

4.6 本章小结 101

第5章 玩转字符串 103

5.1 初识字符串 103

5.2 定义字符串 103

5.2.1 使用单引号 103

5.2.2 使用双引号 104

5.2.3 使用定界符 105

5.3 获取字符串 106

5.4 拼接字符串 107

5.4.1 字符串拼接 107

5.4.2 字符串换行拼接 108

5.5 字符串的显示与格式化 108

5.5.1 字符串的显示 108

5.5.2 字符串的格式化 109

5.6 计算字符串的长度与数目 112

5.6.1 计算字符串的长度 112

5.6.2 计算字符串的数目 113

5.7 字符串的查找与处理 114

5.7.1 字符串的查找 114

5.7.2 字符串的处理 116

5.8 切分与合并字符串 119

5.8.1 切分字符串 119

5.8.2 合并字符串 120

5.9 字符串的比较 121

5.10 本章小结 123

第6章 正则表达式的奥秘 125

6.1 正则表达式简介 125

6.1.1 什么是正则表达式 125

6.1.2 正则表达式的作用 125

6.2 正则表达式基础 126

6.2.1 元字符 126

6.2.2 方括号表达式 126

6.2.3 定位符 127

6.2.4 量词 127

6.2.5 选择符 128

6.3 POSIX正则表达式 128

6.3.1 POSIX字符簇 128

6.3.2 POSIX正则表达式函数 128

6.4 Perl正则表达式 132

6.4.1 Perl修饰符 132

6.4.2 Perl字符簇 133

6.4.3 Perl正则表达式函数 133

6.5 正则表达式的深入分析 137

6.6 本章小结 138

第7章 揭开面向对象的神秘面纱 139

7.1 编程方式的发展之路 139

7.1.1 面向过程编程方式 139

7.1.2 面向对象编程方式 139

7.1.3 PHP中编程方式的演变 140

7.2 一切都是对象——类和对象 140

7.2.1 类 140

7.2.2 对象 141

7.2.3 类成员 141

7.2.4 $this关键字 143

7.2.5 构造方法 144

7.2.6 析构方法 145

7.2.7 静态类成员 146

7.2.8 类常量 148

7.3 对象也能被“克隆” 149

7.3.1 通过clone克隆一个对象 149

7.3.2 __clone()方法 150

7.4 提高开发效率——继承 150

7.4.1 如何继承一个类 150

7.4.2 使用parent∷关键字 152

7.4.3 使用instanceof运算符 152

7.4.4 覆盖父类方法 154

7.4.5 构造方法在继承中的应用 155

7.5 抽象类和接口 156

7.5.1 定义抽象类 156

7.5.2 抽象类的实现过程 156

7.5.3 定义接口 157

7.5.4 接口的实现过程 158

7.5.5 抽象类与接口的区别 159

7.6 多态 159

7.6.1 通过继承实现多态 159

7.6.2 通过接口实现多态 160

7.7 PHP 5中的反射 162

7.7.1 ReflectionClass 162

7.7.2 ReflectionMethod 163

7.7.3 ReflectionParameter 164

7.7.4 ReflectionProperty 164

7.8 PHP 5中的特殊方法 165

7.8.1 __toString() 165

7.8.2 __autoload() 165

7.8.3 __get()和__set() 166

7.8.4 __call() 167

7.9 PHP 5所不支持的OOP特性 168

7.10 本章小结 168

第8章 应对特殊情况——错误和异常处理 169

8.1 为什么需要对错误和异常进行处理 169

8.2 可能会遇到的基本错误类型 169

8.2.1 语法错误 169

8.2.2 逻辑错误 171

8.2.3 定义错误 171

8.2.4 环境错误 173

8.2.5 运行错误 174

8.3 PHP的错误处理机制 174

8.3.1 错误级别 174

8.3.2 错误报告 175

8.4 我们应该怎么做——错误处理方式 177

8.4.1 错误处理函数 177

8.4.2 自定义错误页面 178

8.5 异常并不可怕——异常处理 179

8.5.1 抛出和捕获异常 179

8.5.2 PHP的基本异常类 180

8.5.3 扩展基本异常类 181

8.5.4 捕获多个异常 182

8.6 本章小结 183

第9章 PHP程序调试 185

9.1 我们需要程序调试 185

9.2 使用Xdebug进行调试 185

9.2.1 Xdebug的安装 185

9.2.2 Xdebug的使用 187

9.2.3 优化程序 188

9.3 使用Log4P进行调试 189

9.4 使用Xdebug和Komodo进行服务器端调试 191

9.5 本章小结 192

第10章 寻根溯源——设计模式 193

10.1 了解设计模式 193

10.2 简单工厂模式 193

10.3 单元素模式 195

10.4 观察者模式 196

10.5 命令模式 197

10.6 策略模式 199

10.7 MVC模式 200

10.8 本章小结 201

第2篇 Web核心应用篇 205

第11章 Web 2.0介绍 205

11.1 Web发展新纪元——Web 2.0时代 205

11.1.1 Web 2.0简介 205

11.1.2 Web 2.0核心思想 205

11.2 Web 2.0的新特性 206

11.3 Web 2.0中的Ajax 207

11.4 Web 2.0中的Div+CSS布局 208

11.4.1 CSS发展史 208

11.4.2 Div+CSS布局的优势 209

11.4.3 现在Div+CSS布局的不足 209

11.5 本章小结 209

第12章 PHP在门户网站中的应用 211

12.1 门户网站的设计方案 211

12.1.1 各类门户网站的特点 211

12.1.2 门户网站的设计思路 212

12.2 门户网站技术难点 213

12.2.1 交互设计 213

12.2.2 访问量设计 214

12.2.3 负载均衡设计 215

12.3 项目实战——使用PHP缓存动态数据 217

12.4 本章小结 219

第13章 页面的重要组成——表单 221

13.1 初步认识表单 221

13.1.1 创建表单 221

13.1.2 常用表单元素介绍 222

13.1.3 提交表单数据的方法——GET和POST 227

13.2 对表单数据进行验证 228

13.2.1 识别表单动作 228

13.2.2 客户端验证表单数据 229

13.2.3 服务器端验证表单数据 230

13.2.4 结合正则表达式验证表单数据 231

13.3 表单的安全性分析 233

13.3.1 检测表单路径 233

13.3.2 过期表单的处理 234

13.3.3 过滤表单数据 234

13.3.4 使用ctype验证表单数据 237

13.3.5 拒绝攻击的方法magic_quotes_gpc 238

13.3.6 全局变量的安全性分析 239

13.4 本章小结 240

第14章 神奇的脚本语言——JavaScript 241

14.1 JavaScript简介 241

14.2 JavaScript基础应用 242

14.2.1 语法、变量与关键字 242

14.2.2 流程控制语句 243

14.2.3 函数 247

14.2.4 事件处理函数应用 249

14.3 JavaScript中的面向对象 250

14.3.1 将页面元素视为对象 250

14.3.2 取得页面中元素的值 250

14.3.3 神奇的this 251

14.3.4 页面中元素对象的方法 252

14.4 在HTML页面中使用JavaScript 255

14.4.1 引用当前页面的JavaScript 256

14.4.2 引用外部文件中的JavaScript 256

14.4.3 两种引用JavaScript方法之间的取舍 256

14.5 JavaScript实用 257

14.5.1 页面设计 258

14.5.2 JavaScript设计 258

14.5.3 页面与JavaScript之间的调用 259

14.5.4 重难点分析 259

14.6 PHP与JavaScript的整合开发 259

14.6.1 在PHP中使用JavaScript 259

14.6.2 在JavaScript中使用PHP 260

14.7 本章小结 261

第15章 PHP与Ajax 263

15.1 提升用户体验——使用Ajax技术 263

15.1.1 Ajax的概念 263

15.1.2 Ajax的优点 263

15.2 Ajax的核心技术 264

15.2.1 JavaScript 264

15.2.2 XMLHttpRequest 264

15.2.3 XML 264

15.2.4 DOM 265

15.3 体验Ajax 265

15.3.1 初始化XMLHttpRequest 265

15.3.2 页面设计 266

15.3.3 处理异步请求的JavaScript 266

15.3.4 请求页面hello.php 267

15.4 Xajax 268

15.4.1 Xajax的工作原理 268

15.4.2 安装Xajax 268

15.4.3 在脚本中调用Xajax 269

15.4.4 Xajax的HelloWorld 271

15.5 项目实战——使用Ajax进行动态分页 272

15.5.1 设计数据库 273

15.5.2 设计页面JavaScript 273

15.5.3 设计分页页面 274

15.5.4 重点、难点分析 276

15.6 项目实战——使用Xajax进行登录验证 276

15.6.1 引入Xajax运行库 277

15.6.2 页面显示部分 278

15.6.3 页面JavaScript部分 278

15.6.4 Xajax部分 278

15.6.5 用于完成Xajax登录校验的页面 280

15.7 本章小结 280

第16章 连接客户端与服务器的纽带——会话 281

16.1 会话管理的解决方案——Session与Cookie 281

16.2 方案——使用Session 281

16.2.1 Session简介 282

16.2.2 Session的创建与销毁 282

16.2.3 Session的配置与应用 283

16.2.4 Session中的存取对象与应用数组 286

16.2.5 Session的共享与安全 288

16.2.6 提高Session的效率 292

16.3 方案二——使用Cookie 292

16.3.1 Cookie简介 293

16.3.2 Cookie的工作原理 293

16.3.3 创建与删除Cookie 294

16.3.4 解决Cookie中常见的问题 296

16.4 项目实战——购物车系统 297

16.5 本章小结 299

第17章 轻松实现文件操作 301

17.1 查看文件和目录 301

17.1.1 查看文件名称 301

17.1.2 查看目录名称 301

17.1.3 查看文件真实目录 302

17.2 文件信息不再神秘 302

17.2.1 显示文件类型 302

17.2.2 计算文件大小 303

17.2.3 文件的访问时间和修改时间 303

17.2.4 显示磁盘大小 304

17.2.5 获取文件权限 304

17.3 开始实现各种目录操作 304

17.3.1 创建目录 304

17.3.2 打开目录 305

17.3.3 关闭目录 305

17.3.4 读取目录 306

17.3.5 删除目录 306

17.4 开始实现各种文件操作 306

17.4.1 打开文件 307

17.4.2 关闭文件 308

17.4.3 写入文件 308

17.4.4 读取文件 309

17.4.5 删除文件 311

17.4.6 复制文件 311

17.4.7 重命名文件 311

17.5 实现数据交互——字符流 312

17.5.1 关于流 312

17.5.2 PHP预置流封装器 312

17.5.3 PHP预置流过滤器 313

17.5.4 流函数 315

17.5.5 用流获取HTTPS加密内容 316

17.6 项目实战——自定义错误日志 316

17.7 本章小结 317

第18章 国际化和本地化 319

18.1 了解国际化和本地化 319

18.2 字符集及常用的编码格式 319

18.2.1 ASCII字符集 319

18.2.2 Unicode字符集 320

18.2.3 ISO-8859字符集 320

18.2.4 GB2312与GBK字符集 320

18.3 PHP对国际化的支持 321

18.4 PHP中的本地化函数 322

18.5 本章小结 324

第19章 图片与媒体处理 325

19.1 PHP能够处理的图像类型 325

19.1.1 JPEG格式 325

19.1.2 GIF格式 325

19.1.3 PNG格式 325

19.2 使用GD2库函数 326

19.2.1 创建背景图像 326

19.2.2 绘制图像 327

19.2.3 显示或保存图像 328

19.2.4 转换图像类型 328

19.2.5 图形验证码 329

19.2.6 生成缩略图 331

19.2.7 图片反色处理 332

19.3 用Ming库创建Flash动画 333

19.3.1 动画构成要素 333

19.3.2 定义符号 333

19.3.3 创建动画 334

19.3.4 设置脚本 335

19.3.5 动画的生成和输出 335

19.3.6 动态文本效果 336

19.3.7 动态图像效果 337

19.3.8 视听双重冲击 339

19.3.9 动画中添加按钮 341

19.4 本章小结 343

第20章 全面开发提速——使用Smarty模板技术 345

20.1 认识模板引擎 345

20.2 使用Smarty前的准备工作 346

20.2.1 认识Smarty 346

20.2.2 下载和安装Smarty 346

20.2.3 配置Smarty 347

20.3 S marty入门 347

20.3.1 开始使用Smarty模板 347

20.3.2 Smarty模板的工作原理 349

20.4 Smarty基础 349

20.4.1 注释 349

20.4.2 普通变量及保留变量 350

20.4.3 if条件控制 351

20.4.4 foreach循环 352

20.4.5 section循环 353

20.4.6 包含文件 354

20.4.7 模板修饰符 356

20.5 Smarty深入 360

20.5.1 Smarty缓存 360

20.5.2 Smarty配置文件 361

20.5.3 Smarty调试 362

20.6 项目实战——查看帖子功能模块 363

20.7 本章小结 367

第21章 丰富我们的应用——使用XML与RSS 369

21.1 强大的标记语言——XML 369

21.1.1 XML的特点 369

21.1.2 XML文档结构 370

21.1.3 使用PHP创建XML文档 370

21.2 如何解析XML文档 371

21.2.1 使用SAX解析XML 371

21.2.2 使用DOM创建和解析XML 373

21.2.3 使用SimpleXML解析XML 376

21.2.4 使用XMLReader解析XML 377

21.3 RSS——简单而实用的XML文档 378

21.3.1 为什么使用RSS 379

21.3.2 RSS 2.0 的标准 379

21.4 本章小结 381

第3篇 数据库实战篇 385

第22章 MySQL数据库基础 385

22.1 关系型数据库和关系型数据库系统 385

22.1.1 关系型数据库的概念 385

22.1.2 关系型数据库系统的体系结构 386

22.2 MySQL5概述 386

22.3 准备工作——安装MySQL5 387

22.3.1 下载MySQL5 387

22.3.2 安装MySQL5 388

22.3.3 配置MySQL5 389

22.3.4 测试MySQL5 392

22.4 数据库和表操作 392

22.4.1 创建数据库 392

22.4.2 删除数据库 393

22.4.3 创建表 394

22.4.4 删除表 396

22.4.5 复制表 396

22.4.6 修改表 397

22.5 数据操作 399

22.5.1 插入数据 399

22.5.2 查询数据 401

22.5.3 更新数据 403

22.5.4 删除数据 403

22.6 级SQL应用 404

22.6.1 连接 404

22.6.2 子查询 406

22.6.3 事务处理 408

22.7 管理MySQL 409

22.7.1 数据备份 409

22.7.2 用户权限与访问控制 410

22.7.3 性能优化 412

22.7.4 服务器管理 413

22.8 本章小结 414

第23章 PHP 5与MySQL的结合应用 415

23.1 PHP 5的mysql扩展 415

23.1.1 启用mysql扩展 415

23.1.2 使用phpMyAdmin导入数据 415

23.2 PHP 5中MySQL的应用 417

23.2.1 连接与断开服务器 417

23.2.2 选择数据库 418

23.2.3 执行查询 419

23.2.4 获取查询结果 419

23.2.5 分页处理 420

23.2.6 保存数据 421

23.2.7 修改数据 422

23.2.8 删除数据 422

23.3 在PHP程序中获得MySQL数据库信息 423

23.3.1 获得所有的数据库 423

23.3.2 获得数据库内的表 423

23.3.3 获取字段的相关信息 424

23.3.4 获取错误信息 427

23.4 PHP 5的其他数据库相关函数 428

23.4.1 mysql_client_encoding()函数 428

23.4.2 mysql_real_escape_string()函数 428

23.4.3 mysql_start()函数 429

23.4.4 mysql_thread_id()函数 430

23.4.5 mysql_list_processes()函数 430

23.4.6 mysql_get_server_info()函数 431

23.4.7 mysql_get_host_info()函数 431

23.4.8 mysql_get client_info()函数 432

23.5 PHP 5的mysqli扩展 432

23.5.1 mysqli简介 432

23.5.2 连接与断开服务器 433

23.5.3 使用mysqli存取数据 434

23.5.4 预准备语句 436

23.5.5 多个查询 437

23.6 项目实战——用户登录程序 438

23.7 本章小结 446

第24章 更深入的了解——PHP持久层类库 447

24.1 SQLite 447

24.1.1 下载安装SQLite 447

24.1.2 SQLite的常用命令 448

24.1.3 PHP的SQLite 库 450

24.2 PDO介绍 452

24.2.1 数据库抽象层简介 453

24.2.2 安装PDO 453

24.2.3 连接数据库 454

24.2.4 使用PDO执行查询 454

24.2.5 获取结果 455

24.2.6 PDO对错误的处理方式 457

24.2.7 PDO的事务 458

24.3 ADODB介绍 459

24.3.1 载并安装ADODB 459

24.3.2 连接数据库 460

24.3.3 ADODB执行查询 461

24.3.4 获取结果 461

24.3.5 ADODB的一些其他功能 464

24.4 项目实战——商品后台管理程序 466

24.5 本章小结 470

第25章 拾遗补缺——存储过程、触发器、游标、视图 471

25.1 存储过程 471

25.1.1 存储过程简介 471

25.1.2 创建存储过程 472

25.1.3 执行存储过程 473

25.1.4 创建复杂的存储过程 473

25.1.5 查看存储过程的的相关信息 477

25.1.6 修改存储过程 478

25.1.7 删除存储过程 479

25.2 触发器 479

25.2.1 触发器介绍 479

25.2.2 创建触发器 479

25.2.3 查看触发器 480

25.2.4 删除触发器 481

25.3 游标 481

25.3.1 声明游标 481

25.3.2 打开游标 482

25.3.3 使用游标 482

25.3.4 关闭游标 483

25.4 视图 483

25.4.1 创建视图 484

25.4.2 修改视图 484

25.4.3 删除视图 485

25.4.4 查看创建视图的语法 485

25.5 本章小结 486

第26章 面向网络的PHP开发 489

26.1 PHP网络编程入门 489

26.1.1 计算机网络的概念 489

26.1.2 TCP/IP协议和参考模型 489

26.2 什么是DNS和服务 491

26.2.1 DNS简介 491

26.2.2 获取服务 492

26.3 利用Socket技术完成“C/S”通信 493

26.3.1 Socket原理 493

26.3.2 演示Socket功能 494

26.3.3 创建定制Socket服务器 495

26.3.4 Socket建立客户端 496

26.4 PHP中使用FTP操作 497

26.4.1 登录FTP服务器 497

26.4.2 获取FTP服务器文件列表 498

26.4.3 实现对FTP服务器上的文件操作 499

26.5 PHP中使用电子邮件 500

26.5.1 PHP中电子邮件的配置 500

26.5.2 mail()函数 501

26.5.3 各种电子邮件发送方式 501

26.6 本章小结 504

第27章 分享你的资源——文件上传 505

27.1 文件上传概述 505

27.1.1 文件上传种类 505

27.1.2 表单的enctype属性 505

27.2 在PHP中实现文件上传 506

27.2.1 全局变量$_FILES 506

27.2.2 单一文件上传 506

27.2.3 多文件上传 507

27.3 优化PHP实现的文件上传 508

27.4 本章小结 509

第28章 PHP与XML-RPC、SOAP、Web Service 511

28.1 PHP中使用XML-RPC 511

28.1.1 XML-RPC协议简介 511

28.1.2 XML-RPC的安装与扩展 511

28.1.3 XML-RPC的工作原理 512

28.1.4 PHP与XML-RPC的结合使用 514

28.2 PHP中使用SOAP 518

28.2.1 SOAP协议简介 518

28.2.2 SOAP的特点 518

28.2.3 SOAP的工作原理 519

28.2.4 SOAP的安装与扩展 521

28.2.5 PHP与SOAP的结合使用 521

28.3 Web服务简介 525

28.3.1 什么是Web Service 525

28.3.2 Web Service工作原理 525

28.3.3 Web Service特点 526

28.3.4 Web描述语言WSDL 527

28.3.5 Web服务标准UDDI 527

28.3.6 创建PHP的Web服务 528

28.4 本章小结 532

第29章 创建统计图的利器——JpGraph 533

29.1 JpGraph概述 533

29.1.1 JpGraph工作原理 533

29.1.2 下载并安装JpGraph 533

29.1.3 JpGraph的配置 534

29.2 使用JpGraph创建统计图 534

29.2.1 创建X-Y坐标图 534

29.2.2 创建X-Y-Y坐标图 537

29.2.3 创建柱形图 539

29.2.4 创建饼图 540

29.2.5 创建3D饼图 541

29.3 中文显示解决方案 542

29.4 项目实战——学生人数统计图 544

29.4.1 起止年份及统计图类型选择页面 545

29.4.2 统计图显示页面 547

29.5 本章小结 548

第30章 FPDF类库的应用 549

30.1 概述FPDF的功能 549

30.2 下载并安装FPDF 549

30.3 FPDF基本方法 550

30.4 使用FPDF 551

30.4.1 添加文档信息 551

30.4.2 添加页眉与页脚 552

30.4.3 添加表格 553

30.4.4 插入图片 555

30.5 FPDF扩展 556

30.6 项目实战——财务报表 557

30.6.1 需求分析 558

30.6.2 项目演示 558

30.6.3 数据库设计 559

30.6.4 编写项目 559

30.7 本章小结 560

第31章 PHP中的无线应用——Wap 561

31.1 初识Wap 561

31.1.1 什么是Wap 561

31.1.2 第一个Wap页面 561

31.2 在PHP中使用Wap 563

31.2.1 配置Apache服务器 563

31.2.2 在PHP中输出Wap页面 563

31.2.3 PHP与Wap的进一步结合 564

31.3 在Wap中使用Smarty 566

31.4 本章小结 567

第5篇 Zend实战篇 571

第32章 Zend Studio工具 571

32.1 Zend Studio简介 571

32.1.1 Zend Studio下载与安装 571

32.1.2 Zend Studio组件简介 574

32.1.3 Zend Studio工作流程 575

32.1.4 Zend Studio的特点 575

32.2 Zend Studio用户界面 576

32.2.1 Zend Studio的布局 576

32.2.2 工具栏和各种窗口介绍 577

32.2.3 Zend Studio快捷键 580

32.2.4 项目管理 581

32.2.5 首选项参数设置 582

32.2.6 使用ZDE创建一个应用工程 588

32.3 编辑功能 590

32.3.1 代码补全功能 590

32.3.2 使用模板功能 591

32.3.3 代码片段功能 592

32.4 代码调试与分析 592

32.4.1 内部调试 593

32.4.2 远程服务器调试 595

32.4.3 监控程序状态 600

32.4.4 代码分析 601

32.5 本章小结 602

第33章 Zend Optimizer优化器 603

33.1 Zend优化器简介 603

33.1.1 Zend优化器的作用 603

33.1.2 Zend优化器的特点 603

33.1.3 Zend优化器系统需求 603

33.2 安装Zend Optimizer优化器 604

33.2.1 下载安装Zend Optimizer优化器 604

33.2.2 安装Zend Optimizer优化器 604

33.3 Zend Optimizer的配置与使用 608

33.4 本章小结 609

第34章 Zend Platform 611

34.1 Zend Platform概述 611

34.1.1 Zend Platform的特点及应用价值 611

34.1.2 Zend Platform的下载及安装 612

34.1.3 Zend Platform的功能简介 615

34.2 本章小结 616

第35章 Zend Guard安全卫士 617

35.1 Zend Guard简介 617

35.1.1 Zend Guard工作原理 617

35.1.2 ZendGuard的特点 618

35.2 Zend Guard的使用 618

35.2.1 下载安装Zend Guard 619

35.2.2 Zend Guard工作界面 621

35.2.3 创建Zend Guard项目 622

35.2.4 创建Zend Guard授权文件 626

35.3 本章小结 628

第36章 ZendFramework框架 629

36.1 ZendFramework简介 629

36.2 ZendFramework工作原理 629

36.3 使用ZendFramework 630

36.3.1 下载与安装ZendFramework 630

36.3.2 ZendFramework的目录结构 632

36.3.3 ZendFramework命名规则 632

36.3.4 配置ZendFramework 632

36.4 项目实战——书籍管理系统 634

36.4.1 需求分析 634

36.4.2 数据库设计 634

36.4.3 创建项目 635

36.4.4 配置数据库连接 636

36.4.5 设计模型层 636

36.4.6 ZendFramework分页设计 636

36.4.7 管理员登录模块设计 638

36.4.8 书籍管理模块设计 639

36.5 本章小结 642

第6篇 安全及优化篇 645

第37章 提高安全系数——PHP加密和解密 645

37.1 加密和解密介绍 645

37.2 MD5算法 645

37.2.1 算法分析 645

37.2.2 算法应用 647

37.3 SHA1算法 647

37.3.1 算法分析 647

37.3.2 算法应用 647

37.4 mcrypt扩展库与DES算法 648

37.4.1 mcrypt扩展库 648

37.4.2 DES算法 648

37.5 项目实战——加密信息发布系统 651

37.5.1 系统功能演示 651

37.5.2 数据库设计 652

37.5.3 注册页面设计 652

37.5.4 登录页面设计 654

37.5.5 用户区页面设计 655

37.5.6 用户登出页面设计 656

37.6 本章小结 657

第38章 常见的程序漏洞和防范措施 659

38.1 漏洞的产生及其危害 659

38.2 各种漏洞的产生与防范 659

38.2.1 本地文件包含漏洞 659

38.2.2 远程文本包含漏洞 660

38.2.3 脚本命令执行漏洞 661

38.2.4 文件上传漏洞 661

38.2.5 提交表单漏洞 662

38.2.6 SQL注入漏洞 663

38.3 本章小结 663

第39章 日志记录的分析 665

39.1 配置Apache服务器 665

39.1.1 访问日志配置 665

39.1.2 错误日志配置 666

39.2 Apache服务器的日志种类介绍 667

39.2.1 访问日志 667

39.2.2 错误日志 667

39.3 日志的分析 668

39.3.1 使用AWStats工具分析日志 668

39.3.2 使用Webalizer工具分析日志 672

39.3.3 通过PHP查看分析日志 675

39.4 本章小结 676

第7篇 开源框架实战篇 679

第40章 CakePHP框架 679

40.1 CakePHP框架简介 679

40.1.1 CakePHP的特点 679

40.1.2 CakePHP框架工作原理 680

40.2 下载及安装CakePHP框架 681

40.3 CakePHP框架应用基础 684

40.3.1 CakePHP框架目录结构 685

40.3.2 CakePHP框架的命名规则 685

40.3.3 CakePHP框架的配置 687

40.4 深入CakePHP——MVC架构 688

40.4.1 CakePHP框架的Model 688

40.4.2 CakePHP框架的Controller 693

40.4.3 CakePHP框架的View 695

40.4.4 CakePHP框架的Helper 695

40.5 项目实战——网上投票系统 697

40.5.1 需求分析 697

40.5.2 项目演示 698

40.5.3 数据库设计 701

40.5.4 创建项目 703

40.5.5 连接数据库 703

40.5.6 模型层设计 703

40.5.7 控制层设计 705

40.5.8 视图层设计 710

40.6 本章小结 717

第41章 FleaPHP框架 719

41.1 FleaPHP简介 719

41.1.1 FleaPHP的主要特点 719

41.1.2 FleaPHP的工作原理 720

41.1.3 下载与安装FleaPHP 721

41.2 如何使用FleaPHP 722

41.2.1 FleaPHP命名规则 722

41.2.2 配置FleaPHP 723

41.3 项目实战——网络留言板 725

41.3.1 需求分析 725

41.3.2 功能演示 725

41.3.3 数据库设计 727

41.3.4 创建项目 728

41.3.5 配置数据库连接 729

41.3.6 设计模型层 729

41.3.7 设计控制层 730

41.3.8 设计视图层 733

41.4 本章小结 736

第42章 MooPHP框架 737

42.1 MooPHP框架简介 737

42.1.1 MooPHP框架特点 737

42.1.2 MooPHP框架工作原理 738

42.1.3 MooPHP的下载与安装 738

42.2 使用MooPHP框架 739

42.2.1 MooPHP的配置 739

42.2.2 MooPHP的命名规则 741

42.2.3 MooPHP的模板标签 741

42.2.4 MooPHP的数据库类 742

42.2.5 MooPHP的后台使用 742

42.3 项目实战——博客系统 747

42.3.1 需求分析 747

42.3.2 项目演示 748

42.3.3 数据库设计 750

42.3.4 创建项目 751

42.3.5 本地配置 752

42.3.6 系统前台设计 752

42.3.7 系统后台设计 754

42.4 本章小结 760

第43章 应用CakePHP框架开发新闻发布系统 761

43.1 案例开发实质 761

43.2 需求分析 761

43.3 系统功能设计 762

43.3.1 开发环境 762

43.3.2 系统功能结构 763

43.3.3 文件夹的组织结构 763

43.3.4 数据库设计 764

43.4 公共模块设计 766

43.4.1 database.php文件配置 766

43.4.2 core.php文件的配置 766

43.4.3 routes.php文件的配置 767

43.4.4 controller.php文件的配置 767

43.4.5 CakePHP分页设计 767

43.5 系统首页设计 769

43.5.1 前台首页设计 769

43.5.2 后台首页设计 772

43.6 用户管理功能模块 775

43.6.1 User模型层设计 775

43.6.2 CakePHP用户登录验证 775

43.6.3 应用CakePHP检查用户身份 777

43.6.4 查看用户的实现过程 777

43.6.5 添加用户的实现过程 778

43.6.6 删除用户的实现过程 780

43.6.7 用户退出的实现过程 780

43.7 新闻管理功能模块 780

43.7.1 News模型层设计 780

43.7.2 新闻搜索的实现过程 781

43.7.3 查看新闻的实现过程 783

43.7.4 添加新闻的实现过程 783

43.7.5 修改新闻的实现过程 785

43.7.6 删除新闻的实现过程 786

43.3.8 类别信息管理功能模块 786

43.8.1 Type模型层设计 786

43.8.2 查看类别的实现过程 787

43.8.3 修改类别方法的实现过程 787

43.9 开发技巧 788

43.9.1 404错误的处理 788

43.9.2 动态时钟显示 789

43.10 本章小结 790

第44章 应用FleaPHP开发论坛社区系统 791

44.1 案例开发实质 791

44.2 需求分析 791

44.3 系统功能设计 792

44.3.1 系统功能结构 792

44.3.2 系统流程图 792

44.3.3 开发环境 793

44.3.4 文件夹的组织结构 793

44.3.5 数据表设计 794

44.4 DSN.php文件配置 796

44.5 论坛社区的首页设计 797

44.5.1 首页概述 797

44.5.2 首页技术分析 798

44.5.3 首页的实现过程 799

44.6 分页功能的实现 800

44.7 用户管理功能模块 803

44.7.1 UserDaoImpl模型层设计 803

44.7.2 用户注册的实现过程 804

44.7.3 FleaPHP验证码的应用 805

44.7.4 使用session判断用户权限 807

44.7.5 用户列表的实现过程 808

44.7.6 删除用户的实现过程 809

44.7.7 用户注销的实现过程 810

44.8 类别管理功能模块 810

44.8.1 TypeDaoImpl模型层设计 810

44.8.2 类别列表的实现过程 811

44.8.3 添加类别的实现过程 812

44.8.4 删除类别的实现过程 813

44.9 帖子管理功能模块 813

44.9.1 TopicDaoImpl模型层设计 813

44.9.2 发表帖子的实现过程 815

44.9.3 修改帖子的实现过程 816

44.9.4 删除帖子的实现过程 817

44.10 回帖信息管理功能模块 817

44.10.1 ReplyDaoImpl模型层设计 817

44.10.2 发表回帖的实现过程 818

44.10.3 修改回帖的实现过程 820

44.10.4 删除回帖的实现过程 821

44.11 开发技巧 821

44.11.1 刷新frameset窗口 821

44.11.2 记录帖子人气 822

44.12 本章小结 822

第45章 应用MooPHP开发博客系统 823

45.1 案例开发实质 823

45.2 需求分析 823

45.3 系统功能设计 824

45.3.1 系统功能结构 824

45.3.2 系统流程图 824

45.3.3 开发环境 825

45.3.4 文件夹结构 825

45.3.5 数据表设计 825

45.4 MooConfig.php文件配置 827

45.5 博客系统的前台设计 828

45.5.1 前台功能设计概述 828

45.5.2 用户信息显示设计 829

45.5.3 功能选择菜单设计 829

45.5.4 日志列表页面设计 830

45.5.5 发布评论页面设计 831

45.5.6 相册页面设计 834

45.5.7 好友信息页面设计 836

45.5.8 版权信息显示页面 837

45.6 博客系统的后台设计 837

45.6.1 后台管理功能设计概述 837

45.6.2 用户登录模块设计 837

45.6.3 用户信息维护模块 839

45.6.4 日志维护模块 842

45.6.5 相册维护模块 844

45.6.6 好友维护模块 845

45.6.7 退出系统 847

45.7 本章小结 847