作者:empty 页数:304 出版社:empty |
本书采用循序渐进的方式介绍了用PHP进行Web开发的相关知识。书中首先从OOP采用的机制一抽象类、接、契约式编程开始讲起, 然后介绍了静态方法、单例模式、工厂模式和PHP 6的新特性等内容,接着介绍了测试和文档方面的内容, 还介绍了标准PHP库SPL方面的知识以及PHP开发人员最有可能用到的MVC模式, 最后介绍了Ajax、JSON、SOAP Web服务以及SSL客户竭验证等Web 2.0方面的内容。本书适合中、高级的PHP程序员阅读。
在过去的十年间, PHP已经从一套为Web站点开发人员提供的简单工具转化成完整的OOP(面向对象编程) 语言了。在Web应用开发方面, PHP现在可与Java和C#这样的主流编程语言抗衡,越来越多的公司为了给站点提供更加强大的功能都采用了PHP, 原因很清楚:PHP既是一门易学的语言,又具有强大的特性。如果你自己的PHP编程水平已达到中高級, 那么本书正好适合你。本书每一章内容都在前面章节的基础上展开,同时也考虑到读者的基础参差不齐。如果你认第一部分, OOP和模式。这部分是学习高级的OOP概念必备的基础知识。该部分直接进入主通过阅读本书, 你将会深入理解OOP理论, 并学到如何使用框架和高级的系统互操作功能,最大限度地发挥出PHP编程的威力,读者对象这是一本高级书。我非常慎重地选择本书应该包含的内容以及读者应该掌握的知识,读者应该对HTTP和PHP有深刻的理解, 也就是说, 应该了解如何创建Web页面和Web表单, 并且还应该理解像HTTP请求生命周期这样的关键概念,如果你还不了解这些内容, 那么建议阅读由Larry ullman合著的PHP for the Web:Fiu alQuickStart Guide一书*.这是一本非常好的介绍PHP编程的书, 任何希望成为PHP开发人员的人都绝对应该阅读它,本书结构为已经了解了某章讲述的内容,那么建议你跳过那一章,但最好还是读一下每章末尾的“小结”部分,那是每一章内容的扼要总结。不过,古人云“温故而知新”,就算是最熟练的程序员应该也会在每章中有新的收获。题, 讲解了抽象类、接、静态方法、单例和工厂之类的模式, 以及异常等内容。最后介绍了PHP6所具有的新特性,
和自动部署等。讲述了如何编写优秀的文档, 并且介绍了PHPDoc和DocBook等几种文档标准。这部分还介绍了反射API的内容, 使读者了解如何从程序中获取元数据, 最后还讨论了持续集成,以及如何使用Phing和X inc这样的工具来改善开发工作流。第三部分, SPL(标准PHP库) SPL包含了一些最高级的PHP代码。它提供了对于像索引器和迭代器这样的高级OOP概念的语言支持, 还提供了处理异常的结构, 以及像观察者/发布者这样的模式。这部分信息使大家可以创建出更加优美并且结构良好的类。第四部分, MVC模式。MVC(模型-视图-控制器) 可能是PHP开发人员用到的最有用的开发模式。它可用来为应用程序创建结构,并且调配团队中最好的资源来完成工作。对这一模式的深刻理解可能是任何PHP开发人员都必须掌握的最重要的职业技能, 所以本书力求完整地解释这一模式。这一部分还介绍了Zend框架, 这是为众多PHP公司所接受的一套基于MVC的框架。一开始, 我们介绍了如何逐步建立起一个完整的框架应用程序, 并使它开始运行, 然后讲解了Zend框架的核心概念和高级特性。
本书是在数千名开发人员组成的社区十年来的技术创新基础上写成的。我感谢他们所有人,感谢David Fugate给了我编写这本书的机会, 以及在写本书的过程中给我提供的必要的指导。还要感谢Michael Geist, 正是他提供的帮助和建议使我能够顺利地解决困难。我还必须感谢我的朋友和家人对我的支持,没有他们,我不可能获得这些成果。最后, 我要对A press出版社的所有人表示我最诚挚的谢意, 其中有的人参与了本书的出版工作,有的人则帮助其他作者出版了高质量著作。没有他们,这本书就不会面世。
本书的源代码可在图灵网站(www.baingbook.com)本书主页上免费注册下载,——编者注
本书分为五个部分,
第二部分,测试和文档编写。这部分包括了所有那些相关的“外围”概念,如测试驱动开发
和自动部署等。讲述了如何编写优秀的文档, 并且介绍了PHPDoc和DocBook等几种文档标准。
这部分还介绍了反射API的内容, 使读者了解如何从程序中获取元数据, 最后还讨论了持续集成,
以及如何使用Phing和X inc这样的工具来改善开发工作流。
第三部分, SPL(标准PHP库) SPL包含了一些最高级的PHP代码。它提供了对于像索引器
和迭代器这样的高级OOP概念的语言支持, 还提供了处理异常的结构, 以及像观察者/发布者这
样的模式。这部分信息使大家可以创建出更加优美并且结构良好的类。
第四部分, MVC模式。MVC(模型-视图-控制器) 可能是PHP开发人员用到的最有用的开
发模式。它可用来为应用程序创建结构,并且调配团队中最好的资源来完成工作。对这一模式的
深刻理解可能是任何PHP开发人员都必须掌握的最重要的职业技能, 所以本书力求完整地解释这
一模式。这一部分还介绍了Zend框架, 这是为众多PHP公司所接受的一套基于MVC的框架。一开
始, 我们介绍了如何逐步建立起一个完整的框架应用程序, 并使它开始运行, 然后讲解了Zend
框架的核心概念和高级特性。
JSON、SOAP Web服务以及SSL客户端验证等方面的信息。另外, 这部分还包括了大量非常有用
的辅导材料,这些辅导材料是基于个人经验提供的。
第五部分, Web 2.0.这部分介绍了关于Web 2.0所需要了解的所有事项.你将会学到关于Ajax、
第一部分OOP和模式
4.4错误代码.
4.5类型提示和异常.
4.6重新抛出异常.
4.7小结--.
第5章PHP 6中的新特性-
5.1安装PHP.
5.2PHP 6中的Unicode支持.
.32
.130
第1章抽象类、接口和契约式编.2
1.1抽象类.--2
1.2接口-.4
1.3in a tance of操作符.
1.4契约式编程.8
1.5小结.8
第2章静态变量、成员和方法.
2.1静态变量.9
2.2类中静态元素的使用.10
第二部分测试和文档编写
6.2.3文法解析.
9.2.1 Iterator接口.
9.2.2迭代器辅助函数.-.-.-
9.3.1Azray Access楼口.
9.3.2计数和数组访问.
10.1.1选代器接口.
10.1.2选代器.
10.2.1使用SimpleXML解析XML
10.2.2使用DBA访问平面文件
11.2.1列出文件和日录的清单.148
11.2.2查找文件.150
11.2.3创建自定义文件过滤透代器.151
11.3.1文件内容的代访问.153
11.3.2CSV操作.153
11.3.3搜索文件.157
5.2.2 Unicode排序规则.-.--.
5.3命名空间--
5.4延迟静态绑定.
5.5具有动态特性的静态方法.
6.4.2解析DocBook文件.
2.2.1静态成员.
3.2.1图像对象工厂.
4.1.1异常元素.
4.1.2扩展异常.
7.1.1获得用户声明类.
8.3.2编写Phing部暑脚本.
.8.4.1安装X inc.-.
8.4.2创建X inc配置文件.-.-.-.
8.4.3启动X inc.
8.5.1安装Xdebug-.-
2.2.2双冒号(paamayimnekudotayim) -11
2.2.3静态方法.-.-14
2.3“静态”特性的争论.-.----15
2.4小结.15
第3章单例模式和工厂模式----17
3.1职责和单例模式.17
3.2工厂模式.19
5.6三目运算符(if set or) . 43
5.7XMLNriter类.43
5.8小结.-45
第6章文档编写和编码规范.----48
6.1编码规范.48
206.2PHP注释和文法解析.49
.226.2.1注释的类型.50
-.--246.2.2关于文档注释的更多信息.50
---266.2.4元数据.-51
.266.3PHPDoc.-.52
.--266.4 DocBook--.a.55
.-.286.4.1创建DocBook要用到的XML
.30文件.55
.31.6.5小结.62
3.2.2可移植的数据库.
3.3小结-
第4章异常-
4.1实现异常.
4.2记录异常日志.
4.3异常产生的开销.
4.2.1记录自定义异常的日志.--30
4.2.2定义未捉的异常处理程序.-.31
第7章反射API--64
7.1反射API介绍.-64
7.2解析基于反射的文档数据.-.-.
7.3扩展反射API.
6.4.3使用DocBook的元素.59
第三部分SPL(标准PHP库)
第9章SPL简介.114
9.1SPL基础.114
9.2迭代器.115
9.数组重载.117
9.4观察者模式.118
9.5序列化.i121
9.6SPL自动加载.123
9.7对象标识符.126
9.8小结.-126
第10章SPL迭代器.128
10.1选代器接口和迭代器.-128
10.2迭代器的实际用法.-.-.-.142
10.3小结.--144
第11章SPL文件和目录处理.145
11.1文件和目录信息.145
11.2目录的迭代访问.--147
11.3SPL文件对象操作.-153
11.4小结.-.158
第12章SPL数组重载.--160
12.1Arrayhecess接口介绍.-160.
7.1.2理解使用反射技术的件架构.-----66
7.2.1安装文档块分词器.72
7.2.2访问文格注释数据.73
7.2.3给文注释数据做分词处理.-73
7.2.4解析标识符.--------74
7.3.1解析器与反射API的集成.---77
7.3.2扩展反射类.F7:
7.3.3更新解析器以处理行内标签.--85
7.3.4添加特性.--88
7.4小结.--92
第8章测试、部署和持续集成.-93
8.1用作版本控制的Subversion.93
8.2用于单元测试的PHPUnit---.-.98
8.1.1安装Subversion.-.94
8.1.2设置Subversion.94
8.1.3提交優改和解决冲突.-.95
8.1.4激活对Subversion的访问功能-.---97-
8.2.1安装PHPUnit.98
8.2.2创建第一个单元测试.98
8.2.3理解PHPUnit.100
8.3用于部暑的Phing.102
8.3.1安装Phing.-102
8.4Xinc, 持续集成服务器.-106
8.5用于调试的Xdebug.-.--107
8.6小结.
8.5.2使用Xdebug跟踪代码执行-.-----108
8.5.3使用Xdebug执行基准测试.----110
8.5.4使用Xdebug检查代码覆盖-.------110
8.5.5使用Xdebug进行程调试.-.111
12.2 Arrayobject介绍.
12.3创建一个SPL购物车.
12.4使用对象作为键值.
12.5小结.-
第13章SPL异.
13.1逻辑异常.
13.2运行时异常.
13.3无效函数调用异常和无效方法
13.4域异常.
13.5范围异常.
13.6无效参数异常.
13.7长度异常.
13.8溢出异常.
13.9向下溢出异常.
13.10小结--
第14章MVC架.
14.1为什么使用MVC.
1513引导文件2PSage.com
15.1.3引导文.194
15.2.1添加索引控制器.
15.2.2添加视图.
15.2.3定义模型-.
15.3.1使用request和response
15.3.2使用内置的操作辅助类.202
15.3.3使用内置的视图辅助类-.-.----203
15.3.4验证输入信息.
16.1.1使用数姐的方法.
16.1.2INI方法.
16.1.3XML方法-.
16.6.1缓存功能在安全性上的考虑---214
16.6.2缓存技术.
16.12.1创建新的PDF页面-.--226
16.12.2在PDF页面上绘图-.---.-----226
17.1.1常规的模块化的日录结构.-230
20.1.1复杂类型示例.
20.1.2类映射----
20.2.1HTTP验证.
20.2.2通信密切验证.
20.2.3客户端证书验证.
21.1.3客户端证书.
21.1.4根CA证书-.
21.2.3为SSL配置Apache服务器.283
21.2.4制建客户端证书.
21.2.6测试证书.
21.3.1将PHP绑定到证书上-.---.-288
21.3.2设置Web服务验证.-288
15.2创建控制器、视图和模型.
15.3添加功能.-
15.4小结.
第16章Zend框架高级功能-
16.1管理配置文件.
16.2设置站点级别的视图变量.
16.3共享对象.
16.4错误处理.
16.5应用程序日志记录.-.--.
16.6缓存.
16.7验证用户.
16.8在PHP语言中使用JSON.
16.9自定义路由.
16.10管理会话-.
16.11发送邮件.
16.12创建PDF文件---
16.13与Web服务相集成.-
16.14小结.
第17章应用Zend框架
17.1模