`

PHP Web 2.0开发实战

阅读更多

PHP Web 2.0开发实战

诚邀加入图灵俱乐部:http://turingbook.group.iteye.com/

如今,大多数关于Web开发的书和文章都仅涉及开发生命周期中的某一个或某一些方面,只是专门讨论一些特定特性,而无法让读者从整体上有全面的了解。

 

在这本书中,我们将开发一个完整的Web应用。虽然开发中将会用到一些第三方库和工具,但我们将从零开始逐步完成这个应用的开发。

 

这本书的重点是Web 2.0,这个词已经盛行多年,通常是指具备某些特点的网站或Web应用。这些特点包括:

 

q 正确使用HTML/XHTMLCSS和其他标准;

q 使用AjaxAsynchronous JavaScript and XML,异步JavaScriptXML),响应迅速,而无需页面完全刷新;

q 使用RSS支持网站内容聚合;

q 增加wiki、博客或标签。

 

 

并非所有人都是“Web 2.0”这个流行语的拥护者,尽管如此,这个词确实标志着Web开发向前迈进了一大步。另外,尽管不是每一个人都需要在自己的网站上提供一个wiki或博客,但这里所列出的其他特点(如正确地使用标准)可以为网站的开发奠定扎实的基础,应当为所有开发人员所采纳,而不管他们希望将网站或Web应用归入哪一类。

 

之所以写这本书,主要是因为我希望能够与其他用户分享构建网站的一些经验。时至今日,我作为一名Web开发人员已经有10年之久(特别是最近7年更是全身心投入),对与Web相关的许多方面已经有了深入的理解,有许多经验教训希望能够提供给刚入门或者力求提高水平的开发人员。

 

读者对象

这本书主要是为中到高级水平的PHP程序员编写。尽管不同层次的程序员都能从中获益,不过我们会以很快的进度深入讨论,因此预先对PHP有一定了解还是很有必要的。

 

正如前面所说,如果你刚接触PHP,这本书肯定能让你受益非浅,因为对于你先前一知半解的技术,我们会更正式更规范地加以描述,并展示处理各种问题的不同方法。

 

在这本书中,我假设你已经熟悉HTMLCSS,不过由于本书中大多数代码都是用PHPJavaScript开发的,所以并不要求你对HTMLCSS进行过于深入的了解。所有JavaScript代码都有全面细致的解释,再加上我们将使用Prototype JavaScript库,因此代码相当浅显易懂。


本书结构

这本书首先确定在所要开发的Web应用中具体实现哪些特性,随着全书内容的展开,将逐个实现这些特性。每一章都将向应用增加一组新的特性,最后一章还将介绍部署应用的有关策略。

 

本书到底要开发何种类型的应用(具体是一个多用户博客系统)并不特别重要。实际上,这个应用只是要作为一个工具来展示开发Web应用的全过程。每一章都设计为专门展示开发中的某一些特定方面,这些方面在任何类型的应用中都有可能出现。

 

q 1章,应用规划与设计。这本书开篇将介绍究竟如何定义Web 2.0,还将简要讨论将要开发的应用中会实现哪些特性。另外,这一章将涵盖Web开发生命周期中的诸多方面,也就是规划和实现Web应用时应当考虑的一些问题。

q 2章,建立应用框架。从这一章开始我们将着手实现这个Web应用。作为实现过程的第一步,需要正确地搭建环境(也就是说,需要安装正确的Web服务器软件),并创建网站的初始文件结构。另外,除了用PHP连接数据库外,我们还将使用Zend框架处理用户请求,并使用Smarty模板引擎(Smarty Template Engine)管理HTML代码。

q 3章,用户认证、授权和管理。这一章将首次谈到如何使用数据库。我们将介绍实现用户系统时如何轻松地管理数据库数据。另外,还会介绍一个基于角色的许可系统如何工作,然后在应用中具体实现这个许可系统。

q 4章,用户注册、登录和注销。作为第3章的延续,这一章将展示如何实现一个用户注册系统。由于这是本书第一次处理用户提交的数据,所以这一章还将介绍创建注册和登录表单时如何正确地处理这些数据。

q 5章,PrototypeScriptaculous简介。由于后面各章将大量用到JavaScriptAjax,所以这一章先暂且不讨论我们的主应用,而是转而介绍目前最有用的两个JavaScript库。Prototype有助于程序员开发出能够轻松维护的跨平台JavaScript代码;另一方面,如果希望为网页增加引人入胜的视觉效果,Scriptaculous则可以简化这一过程。

q 6章,为Web应用设置样式。这一章讨论的内容稍稍偏离我们的Web应用,因为这里更多的是强调用户体验而不是主应用的特性。首先将介绍如何实现各种导航特性(这也让我们对于开发定制Smarty插件有了初次的尝试),这一章结束时将为应用实现一个简洁的Web设计。

q 7章,构建博客系统。这一章开始讨论博客系统的实现,将允许用户增加、编辑和删除他们的博客帖子。这一章将谈到很多重要概念,其中之一是如何正确地处理用户提交的HTML,同时保证访问者的动作不影响网站的安全。

q 8章,扩展博客管理系统。这一章很大程度上建立在第7章所实现系统的基础之上。这里将提供一个综合的Ajax示例,用于帮助用户管理其博客。我们还将在创建博客帖子的表单中集成一个开源的WYSIWYGWhat You See Is What You Get,所见即所得)编辑器。

q 9章,个人化用户区。本书介绍到这里,用户已经能创建新账户,并且可以管理他们自己的博客了。这一章中,我们将在应用中公开用户的博客。应用网站将为每个用户提供一个公开主页,其中显示该用户的所有博客帖子。这一章将展示如何实现一些更高级的URL机制,并介绍如何通过管理用户的个性化数据和设置来提供定制的用户体验。

q 10章,实现Web 2.0特性。尽管我们定义的一些Web 2.0特性(如标准兼容性和支持Ajax)对于所有Web应用都适用,但有一些特性通常是Web 2.0特有的。在这一章中,我们将介绍其中的一些特性,包括微格式(microformats)、Web提要(RSSAtom)以及标签。

q 11章,一个动态图库。这一章中,我们将扩展博客系统的功能,允许用户为他们的各个博客帖子上传照片。这样我们不仅能了解如何正确地处理文件上传,还可以了解与图像有关的一些问题,如动态生成缩略图。

q 12章,实现网站搜索。这一章基本上分为两部分:首先根据用户博客帖子创建搜索索引,然后允许网站访问者搜索这些博客帖子。建立数据索引可能是一个很复杂的主题,不过通过使用Zend框架提供的工具,这个任务就简单多了。在实现基本搜索功能的基础上,我们将进一步扩展,在应用中使用一个直观的基于Ajax的自动完成工具,这类似于Google Suggest提供的自动完成功能。

q 13章,集成Google Maps。作为一名开发人员,可以使用Internet上许多免费的Web服务来改进网站。这一章中,我们将进一步扩展博客功能,允许用户使用Google Maps为他们的博客帖子增加地理位置。我们创建了Google Maps的一个高级示例应用,其中使用AjaxGoogle Maps API与我们的数据库相结合,另外还将介绍如何实时地管理地图数据。

q 14章,部署与维护。这是最后一章,其中将介绍开发一个完美应用的其他问题。这基本上是对第2章中所实现的部分功能的一个扩展,不过除此之外还介绍了一些新思想(如应用部署)。

必备条件

本书中要用到很多第三方应用和库。我们将讨论如何下载和安装所需的各个软件,不过总结起来将使用以下工具:

q PHP 5.2.3

q Linux(及其变种)或Windows上的Apache 2.2WindowsApache的较早版本可能也能用);

q MySQL 5PostgreSQL 8

q Prototype 1.5.1.1

q Scriptaculous 1.7.1 beta 3

q Zend Framework 1.0.2或更新版本;

q Smarty Template Engine 2.6.18

q FCKeditor 2.4.3(这是一个开源的JavaScript WYSIWYG编辑器)。

除了这些应用和库外,本书还使用了我自己实现的一些定制PHP类。这些PHP类都已在应用源代码中提供,源代码可以按照以下说明下载。

下载源代码

本书中的所有代码清单都可以从本书网站http://www.myphpbook.com得到。读者还可以从Apress网站(http://www.apress.com的本书主页上得到这本书的源代码[1]。在各章的最后还提供了完整的Web应用可供下载。

另外,我还在源代码中加入了额外的一些内容,包括一个管理区和一个博客帖子评论系统。

联系作者

如果你对这本书中的代码有任何疑问,首先应当查看本书的网站http://www.myphpbook.com。这个网站包括了一些最常见问题的解答,还提供了其他一些Web开发资源。

另外,你也可以通过电子邮箱quentin.zervaas@apress.com与我直接联系。请注意你的问题应只与本书的内容有关。你的问题和相应解释有可能会发布在本书网站的FAQ区上。



[1]    本书源代码也可从图灵网站(http://www.turingbook.com)的本书主页上下载。——编者注

分享到:
评论
3 楼 xieye 2008-11-21  
很好很强大
2 楼 turingbooks 2008-10-12  
书可以从中国互动出版网www.china-pub.com买到。
1 楼 sd3208464 2008-10-09  
书从什么地方可以买到呢???

相关推荐

    php web2.0开发实战源码

    在PHP Web2.0开发领域,源码分析与实战经验是提升技能的关键。"php web2.0开发实战源码"这一主题涵盖了Web2.0应用程序的构建、优化以及架构设计等多个方面。Web2.0是指互联网从信息传递转向用户交互的变革,它强调...

    php web 2.0开发实战

    《PHP Web 2.0开发实战》是一本深入探讨如何使用PHP技术构建Web 2.0应用程序的专业书籍。Web 2.0是互联网发展的一个重要阶段,它强调用户参与、互动性和数据共享,典型特征包括博客、社交网络、富互联网应用(RIA)...

    PHP WEB 2.0开发实战(中文)---2/6

    本书通过一个完整的Web 2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划与设计,然后逐章实现各个具体特性,包括网站主页、用户主页、用户注册页面、账户...

    PHP.Web.2.0开发实战 随书源码chapter-02

    《PHP.Web.2.0开发实战》是一本深入探讨PHP Web开发技术的书籍,随书附带的"chapter-02"源码是作者为了帮助读者更好地理解和实践书中的概念而精心编写的。这一章主要涵盖了Web开发的基础以及PHP语言的关键特性,下面...

    PHP WEB 2.0开发实战(中文)---4/6

    本书通过一个完整的Web 2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划与设计,然后逐章实现各个具体特性,包括网站主页、用户主页、用户注册页面、账户...

    PHP.Web.2.0开发实战

    PHP Web 2.0开发实战,是一部聚焦于使用PHP语言开发Web 2.0应用程序的实战指南。本书由澳洲作者Ouwehand Zevaas编写,并由苏金国和陈永志等翻译。该书的出版旨在指导开发者从零基础开始,逐步掌握构建典型的Web 2.0...

    PHP WEB 2.0开发实战(中文)---1/6

    本书通过一个完整的Web 2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划与设计,然后逐章实现各个具体特性,包括网站主页、用户主页、用户注册页面、账户...

    PHP Web 2.0 开发实战.随书源码

    [PHP.Web.2.0.开发实战.随书源码].Practical.Web.2.0.Applications.With.PHP_Source.Code

    PHP.Web.2.0开发实战.part3.rar

    本书通过一个完整的Web 2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划与设计,然后逐章实现各个具体特性,包括网站主页、用户主页、用户注册页面、账户...

    PHP WEB 2.0开发实战(中文)---3/6

    本书通过一个完整的Web 2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划与设计,然后逐章实现各个具体特性,包括网站主页、用户主页、用户注册页面、账户...

    PHP WEB 2.0开发实战(中文)---6/6

    本书通过一个完整的Web 2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划与设计,然后逐章实现各个具体特性,包括网站主页、用户主页、用户注册页面、账户...

    PHP WEB 2.0开发实战(中文)---5/6

    本书通过一个完整的Web 2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划与设计,然后逐章实现各个具体特性,包括网站主页、用户主页、用户注册页面、账户...

    phpweb:PHP Web 2.0开发实战原始码

    《phpweb: PHP Web 2.0开发实战原始码》是一个关于使用PHP语言进行Web 2.0应用程序开发的开源项目。Web 2.0是一个术语,代表着互联网从静态信息展示向互动、用户参与和社交媒体转变的过程。在这个项目中,开发者可以...

    PHP.Web.2.0开发实战.zip

    《PHP.Web.2.0开发实战》是一本深入探讨PHP在Web 2.0时代应用的专业书籍。在Web 2.0的浪潮中,PHP以其灵活性、高效性和易学性,成为了构建动态交互式网站的首选语言。这本书旨在帮助开发者掌握PHP在Web 2.0环境下的...

    PHP.Web.2.0开发实战.part4.rar

    PHP.Web.2.0开发实战.part4.rar PHP.Web.2.0开发实战.part4.rar

    PHP.Web.2.0开发实战 随书源码chapter-07

    《PHP.Web.2.0开发实战》一书的随书源码包,主要涵盖了第七章的相关内容。在这一章中,作者深入浅出地讲解了Web 2.0技术与PHP编程的结合应用,旨在帮助读者提升在动态网站开发中的实践能力。下面,我们将详细探讨该...

    PHP.Web.2.0开发实战 随书源码chapter-09

    在《PHP.Web.2.0开发实战》这本书中,第9章的随书源码主要涵盖了Web 2.0时代使用PHP进行动态网站开发的一些关键技术和实践案例。Web 2.0强调用户交互、社区参与和数据共享,而PHP作为一门广泛应用于服务器端的脚本...

    PHP.Web.2.0开发实战 随书源码chapter-06

    《PHP.Web.2.0开发实战》一书的第六章随书源码包含了"chapter-06-examples"和"chapter-06"两个主要部分,这些内容旨在帮助读者深入理解PHP在Web 2.0应用中的实际开发技巧。下面我们将详细探讨其中涉及的知识点。 1....

    PHP.Web.2.0开发实战 随书源码chapter-12

    《PHP.Web.2.0开发实战》是一本深入讲解PHP在Web 2.0应用中的实践书籍,随书源码的第十二章包含了丰富的实例和代码,旨在帮助读者更好地理解和应用PHP技术。在这个章节中,我们可以挖掘出多个关键知识点: 1. **Web...

    PHP.Web.2.0开发实战 随书源码chapter-08

    《PHP.Web.2.0开发实战》是一本深入探讨PHP在Web 2.0应用中的实践书籍,随书源码的第八章章节内容主要涵盖了PHP在构建动态、交互性强的Web应用程序时的关键技术和实践方法。在这一章中,读者可以期待学习到以下核心...

Global site tag (gtag.js) - Google Analytics