【书名】 大道 PHP LAMP+Zend+ 开源框架整合开发与实战
【作者】 三扬科技
【ISBN】  978-7-121-09171-1
【出版社】电子工业出版社
【出版日期】 2009 9
【定  价】 99.00 元(含视频 DVD1 张)
【宣传语】
第一本介绍企业级开发工具Zend的书籍
 
最完整的PHP 5开发技术与实战代码万用大全
基于Linux+Apache+MySQL+PHP黄金组合,Socket、WebService、AJAX、JpGraph等WEB开发高级应用,加密解密及安全优化等关键技术,一应俱全。
第一本深入剖析四大主流开源框架的书籍
CakePHP,FleaPHP,MooPHP及Zend Framework原理及应用
Zend Studio,Zend Optimizer,Zend Platform及Zend Guard应用
38小时视频,覆盖136个关键主题
【内容简介】
本书以 PHP 应用程序开发为主题,对实践中必不可少的各项重要技术进行了全面介绍与系统讲解,并对多个 PHP 开源框架的应用进行了深度整合与实战剖析,可使 PHP 程序员快速实现入门与精通。
全书分 7 篇,分 45 章,内容以企业开发为核心,包括 PHP 的面向对象方法, PHP MySQL 数据库的结合,最为流行的 PHP 开源框架, PHP 的安全及优化, Zend 相关工具及框架的使用,以及 Web 实际开发中涉及到的所有常用技术,最后通过项目实战进一步历练与提升 PHP 整合开发技术。
本书内容繁而不杂、条理清晰,同时随书光盘配备大容量的视频,对 PHP 全线技术进行细致讲解。本书不仅适合初学者快速入门,也适合初、中级读者系统学习,还可作为 PHP 开发人员的实践指导,同样适合各大专院校及相关培训机构作为教材或参考资料。
本书答疑平台: www.100tt.net
【推荐序一】
看到本书的目录使我有一种熟悉的感觉,为什么这么说呢?因为它同PHPChina论坛现在各个板块的划分完全吻合。而作为国内最大的PHP开源社区为phper提供交流平台、提供最新资讯是我们义不容辞的责任。
《大道PHP:LAMP+Zend+开源框架整合开发与实战》作为入门级图书,可以说囊括了目前市面上所有同类书籍的内容,并且加入了对Zend产品的详细介绍。无论作为学习用书,还是参考手册对于PHP开发人员都有很大的价值。很明显,本书的作者在专业应用方面经验十分丰富,他们不仅向读者教授了PHP语言本身,还介绍了如何通过良好的软件工程实践(Zend产品应用)来使用PHP。可以说本书是对PHPChina论坛内容的一种浓缩,希望它可以为那些想了解PHP并以此为毕生追求的phper们指引出一条光明大道。
 
PHPChina 刘昊
【推荐序二】
短短15年,互联网已然经历了3个时代的变迁,互联网应用已经深入地影响着人们的生活方式,尤其是年轻一代逐渐成为这个社会的主流,基于浏览器的生活更加深入人心。
第一个时代是Web 1.0的时代,大家通过媒体的报道和文章的撰写来了解资讯和新闻。第二个时代是Web 2.0的时代,我们进入了分享的互联网的时代,也就是说个人可以通过博客、BBS等方式发表他们的意见,引起了很大的轰动,也让网友与网友之间的互动变得更加容易。那么互联网的第三个时代,应该是开发者的时代。开发者的崛起,让网络从一个文字的、社区性的平台,变成一个可以提供无限应用的、能够汇集众多开发者的智慧、提供技术应用的互联网时代。
开放是互联网必然的趋势,而基于开放源代码的PHP以其良好的安全性和高效率的执行速度得到了互联网企业的大力推崇,发展PHP的技术优势和广阔前景毋庸置疑。PHP从1994年诞生至今已被2000多万个网站采用,全球知名的互联网公司Yahoo!、Google、新浪、百度、腾讯、TOM、YouTube等均是PHP技术的经典应用。随着PHP技术的成熟和完善,PHP已经从一种针对网络开发的计算机语言发展成为一个适用于企业级部署的技术平台,IBM、Cisco、西门子、Adobe等公司均采用PHP技术。
随着互联网第三个时代的到来和PHP的普及,掌握PHP技术已经成为互联网从业者的必备手段。互联网企业生存和竞争的核心在于技术,技术人才永远是这些企业不可或缺的关键人物,PHP技术人才的培养是发展PHP的关键。
为了方便基于PHP开发互联网应用,一些PHP推崇者和商业组织纷纷推出了开源的开发框架。其中最为著名的有国外的CakePHP、CodeIgniter、Zend Framework等,国内则有FleaPHP、ThinkPHP和MooPHP。开发思想主要以轻便的面向过程和逻辑严谨的面向对象为主,几种框架各有特色,无疑都是程序员的好帮手。
作为国内最早的开放式社会化应用开发商,我也曾经不断地寻求一个这样的工具,能够快速地培养PHP基础技术人才,壮大我们的研发团队,让一个技术“菜鸟”能够迅速跨入PHP开发之门,在短时间内成长为一个技术完备的程序员,并习惯与他人协作开发。毕竟这是一个开放的时代,不仅仅开放了源代码,技术心态也要逐步开放。在深入的研究了国内外的主流PHP开发框架后,基于7年以来我们对社区平台技术和服务的经验和理解,MooPHP在我们手中诞生了,并第一时间发布了基于BSD协议的开放版本。经历了2年的PHP爱好者和商业公司的完善,我们可以认为它是一个主要面向PHP初学者,通过实践逐步掌握PHP语言的工具。
在拿到本书前,我认为这也许只是一本普普通通的PHP技术学习类书籍,但仔细阅读后发现了它与其他同类书本质的区别:它不仅由浅入深地介绍了PHP语言,又通过了大量的实例,甚至引入了几个主流的开发框架,以不同的开发思想来诠释PHP开发的实质。此外,书中还大量讲述了结合时下流行的Web 2.0产品设计与开发思想结合的实践经验,这使得本书实用性大大提高。
作为一个开发人员,你可能急需这样一本由浅入深、通俗易懂、结合实践的书籍。无论你已是一个小有成就的开发工程师,还是刚刚入门的“菜鸟”程序员,通过本书,你都会对PHP语言有一个全新的、更加系统和深入的了解。
期待你在互联网的第三个时代——开发者的时代,创建属于你的互联网应用,汇集你和你的朋友的智慧,通过这样一个有趣的途径,使全世界人的体验更加美妙而有效。同时也希望本书能够助你一臂之力。
——陈书艺 
中国最早的开放式社会化应用开发商 奇矩互动 CEO
2009年 于 北京
【推荐序三】
随着市场竞争变得越来越激烈,PHP的开发效率、可维护性等优势逐渐受到了重视。现今,国内各大门户网站、Web 2.0等,都大量采用 PHP开发新产品和改造老产品。同时,对于国内数量巨大的个人站长来说,基于PHP的产品也是他们的首选,Discuz、PHPWind、PHPCMS、DeDeCMS、UCenter Home等,无一不是同类产品中的精品。在这种背景下,掌握PHP对于个人发展来说非常有利。
与市面上其他PHP书籍不同,《大道PHP:LAMP+Zend+开源框架整合开发与实战》这本书不但讲解了PHP 5的最新内容,还包含各种常见应用的解决案例,并且对于市面上流行的开发框架、工具库也进行了实战演练。本书内容丰富,学习难度由浅入深,并且充分结合了实际工作中的需求,更针对每一个章节提供了相应的教学视频。实践证明,用文字加视频的方式,可以加深学习印象,取得事半功倍的效果。
过去,PHP的专业书籍在国内很少见。虽然随着PHP的流行,国内也开始出现一些PHP原创书籍,但真正做到有特色、有针对性,能够满足国内PHP开发者需求的书籍是少之又少。在我看来,《大道PHP:LAMP+Zend+开源框架整合开发与实战》最大的特点就是紧密结合实践,以工作中的需求为主题。本书对于广大开发者来说是一本实用的学习和参考书籍。
 
FleaPHP/QeePHP 开源项目领导人 廖宇雷

【推荐序三】
The CakePHP project is proud to be part of this book. Cake was first released in 2005 as a very simple MVC framework. Since, the founding of the project in June 2005 thousands of developers of have helped to produce the best rapid development framework available for PHP. With a strong foundation in convention over configuration, CakePHP continues to appeal to developers at all levels. The goals of the project remain the same, with a focus on the community and making the developer life easier. CakePHP aims to produce a powerful, extensible, and maintainable framework that allows developers to do more with less code. Welcome to the CakePHP community.
Garrett J. Woodworth
Cake Software Foundation

【本书内容结构】
“万物之始,大道至简,衍化至繁。”
——
老子《道德经》
 
 

【目录】
第1篇  基  础  篇
 
第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核心应用篇
 
第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  Smarty入门 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篇  数据库实战篇
 
第22章  MySQL数据库基础 385
22.1  关系型数据库和关系型数据库系统 385
22.1.1  关系型数据库的概念 385
22.1.2  关系型数据库系统的体系结构 386
22.2  MySQL 5概述 386
22.3  准备工作——安装MySQL 5 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
 
第4篇  高级应用实战篇
 
第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实战篇
 
第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  Zend Guard的特点 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篇  安全及优化篇
 
第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篇  开源框架实战篇
 
第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.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

0

收藏

wenjianan

116篇文章,8W+人气,0粉丝