`

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 web 2.0开发实战

    php web 2.0开发实战 php web 2.0开发实战 php web 2.0开发实战

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

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

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

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

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

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

    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应用的规划与设计,然后逐章实现各个具体特性,包括网站主页、用户主页、用户注册页面、账户...

    PHP.Web.2.0开发实战

    PHP.Web.2.0开发实战

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

    phpweb: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-06

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

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

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

    PHP.Web.2.0开发实战.zip

    PHP.Web.2.0开发实战

    PHP.Web.2.0开发实战 12卷 终章

    然而,要在Web2.0时代取得竞争优势,PHP程序员面临着更大挑战,仅仅掌握语言本身,远远不够实战所需。  本书由资深PHP专家撰写,不在基础知识上花费太多笔墨,而是引导读者从设计、规划开始。综合运用PHP、MySQL、...

    PHP.Web.2.0开发实战 12卷 之1

    然而,要在Web2.0时代取得竞争优势,PHP程序员面临着更大挑战,仅仅掌握语言本身,远远不够实战所需。  本书由资深PHP专家撰写,不在基础知识上花费太多笔墨,而是引导读者从设计、规划开始。综合运用PHP、MySQL、...

    PHP.Web.2.0开发实战 12卷 之4

    然而,要在Web2.0时代取得竞争优势,PHP程序员面临着更大挑战,仅仅掌握语言本身,远远不够实战所需。  本书由资深PHP专家撰写,不在基础知识上花费太多笔墨,而是引导读者从设计、规划开始。综合运用PHP、MySQL、...

Global site tag (gtag.js) - Google Analytics