作者:empty 页数:491 出版社:empty |
本书通过一个完整的Web 2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划与设计, 然后逐章实现各个具体特性, 包括网站主页、用户主页、用户注册页面、账户登录和管理页面、用户博客系统、网站搜索以及应用管理等,最后介绍部署和维护,本书适合中、高级的PHP程序员阅读。
如今, 介绍Web开发的书可谓不少, 且各有侧重, 能够让读者比较深入地了解Web开发的某些方面或某些技术,这固然不错;不过从另一个角度看,这种针对性有时也反映出一种片面性,这些书往往是一些“大块头”,也是初学者的最爱。不过,书的厚重并不代表内容的精深,尽管覆盖面广,但这同时也带来一个无法回避的问题,那就是在各个方面可能都浅尝辄止,不能引导的疑惑, Quentin Zer vaas通过本书可以为读者指点迷津。他将带着初学者从零开始逐步开发一个完整的PHP Web应用, 在这个过程中逐步解释什么是Web 2.0, 怎样开发一个Web 2.0应用以及如Zer vaas, published by A press, 2855 Telegraph Avenue, Suite 600, Berkeley, CA94705USAPosts&Telecom Press.All rights reserved.任何方式复制或抄袭本书内容。虽不至于让读者一叶障目,但很有可能使他们只见树木,不见森林。读者深入研究。有一些书考虑到了这一点,因此从最基本的内容开始介绍,顾及了方方面面。从篇幅上看,有人也许会发现, 尽管已经读过好几本书, 还是不能开发出一个像样的Web应用。面对这样何实现Web 2.0涵盖的各项特性。书中还谈到如何结合PHP正确使用HTML/XHTML、CSS和其他标准, 如何使用Ajax提供快速响应, 如何使用RSS支持网站内容聚合, 以及如何增加博客系统等。我们深深地感谢我们的家人和朋友。在翻译过程中,他们给予了我们莫大的关心、支持和帮助。本书主要由苏金国、陈永志翻译,高强、范松峰、李胜权、任岗、刘鑫、蔡洪亮等检查术语,朱涛江、刘晓兵、陈波、张野、江健等提供技术问题支持,杨明、王小振、荆涛、王恒完成全书的审校。
如今, 大多数关于Web开发的书和文章都仅涉及开发生命周期中的某一个或某一些方面, 只是专门讨论一些特定特性,而无法让读者从整体上有全面的了解。在这本书中, 我们将开发一个完整的Web应用, 虽然开发中将会用到一些第三方库和工具,但我们将从零开始逐步完成这个应用的开发,这些特点包括:这本书的重点是Web 2.0, 这个词已经盛行多年, 通常是指具备某些特点的网站或Web应用.正确使用HTML/XHTML、CSS和其他标准;使用Ajax(Asynchronous JavaScript and XML, 异步JavaScript和XML) , 响应迅速, 而无需页面完全刷新:使用RSS支持网站内容聚合;增加wiki、博客或标签。并非所有人都是“Web 2.0”这个流行语的拥护者, 尽管如此, 这个词确实标志着Web开发向前迈进了一大步。另外, 尽管不是每一个人都需要在自己的网站上提供一个wiki或博客, 但这里所列出的其他特点(如正确地使用标准)可以为网站的开发奠定扎实的基础,应当为所有开发人员所采纳, 而不管他们希望将网站或Web应用归入哪一类。之所以写这本书,主要是因为我希望能够与其他用户分享构建网站的一些经验,时至今日,我作为一名Web开发人员已经有10年之久(特别是最近7年更是全身心投入) , 对与Web相关的许多方面已经有了深入的理解,有许多经验教训希望能够提供给刚入门或者力求提高水平的开发人员。读者对象这本书主要是为中到高级水平的PHP程序员编写。尽管不同层次的程序员都能从中获益, 不过我们会以很快的进度深入讨论, 因此预先对PHP有一定了解还是很有必要的。正如前面所说, 如果你刚接触PHP, 这本书肯定能让你受益非浅, 因为对于你先前一知半解的技术,我们会更正式更规范地加以描述,并展示处理各种问题的不同方法。在这本书中, 我假设你已经熟悉HTML和CSS, 不过由于本书中大多数代码都是用PHP和JavaScript开发的, 所以并不要求你对HTML和CSS进行过于深入的了解。所有JavaScript代码都有全面细致的解释, 再加上我们将使用Prototype JavaScript库, 因此代码相当浅显易懂。
这本书首先确定在所要开发的Web应用中具体实现哪些特性, 随着全书内容的展开, 将逐个实现这些特性。每一章都将向应用增加一组新的特性,最后一章还将介绍部署应用的有关策略。本书到底要开发何种类型的应用(具体是一个多用户博客系统)并不特别重要。实际上,这个应用只是要作为一个工具来展示开发Web应用的全过程。每一章都设计为专门展示开发中的某一些特定方面,这些方面在任何类型的应用中都有可能出现。
第1章应用规划与设计
1.1什么是Web 2.0-.
1.2数据库连接.
1.3网站模板.
1.4网站特性.
1.5开发的其他方面.
2.4.1在Linux上创建虚拟主机.-14
22.42在Windows上创建虚拟主机-15
.-.22.4.3重启Web服务器.-.-15
建立数据库.
2.6使用MVC模式.
2.7定义应用设置.
1.4.1网站主页和用户主页.
1.4.2用户注册.
1.4.3账户登录和管理.
1.4.4用户博客.-
1.4.5网站搜索.
1.4.6应用管理.-
1.5.1搜索引擎优北.-.-.-.
1.5.2PHPDoc风格的注释.
1.5.3安全性.
1.5.4应用日志.
1.5.5可维护性和可扩展性.
2.1.1操作系统.
2.1.2安装Apache HTTP服务器.9
2.1.3安装MySQL 5
2.1.4安装PHP 5.2.3.
2.2.1Web根目录.
2.2.2数据存储日录.
2.2.3PHP奖日录.
2.2.4模板日录.-
2.2.5完整的目录结构-
3.6管理用户个性化信息.-58
4.1为应用增加用户注册功能.64
2.6.1将应周逻辑与表示逻样分离.17
2.6.2将所有请求定向到1ndex.pho.19
2.6.3Zend_Controller类简分.20
2.6.4Zend_Controller如何处理请求.-20
2.6.5创建Index Controller .-22
2.8违接数据库.-.25
2.9Smarty模板引擎.27
2.9.1为什么不使用其他模板引.29
2.11小结.-39
第3章用户认证、授权和管理.40
2.9.2下载和安装Smarty
2.9.3利用Zend_Controller自动
3.1.1时间截.-
5.8.4DOM元素构建器.
5.8.5 JavaScript单元测试.
Scriptaculous、Ajax和PHP.
5.10.1创建主HTML页面:
5.10.3创建和填充数据库:
5.10.4服务器端管理列表项:
5.10.5在服务器端处理Ajax请求:
5.10.6创建客户端应用逻辑:
6.1.1BreadcruTbs类.
6.1.4创建一个Smarty插件楠出
6.1.5显示页面标题.-.-
1.6版本控制和单元测试.-.-7
1.7小结.
第2章建立应用框架
2.1Web服务器配置.
2.2应用文件系统结构
2.3安装Zend框架.
2.4配置Web服务器.13
2目录
2.9.4Smarty与网站控制器集成.-34
72.10增加日志功能.36
.83.1创建用户数据库表.40
.-93.1.2用户个性化信息.42
-103.2Zend_Auth简介.43
-113.2.1实例化Zend_Aut.-.44
-.113.2.2使用Zend_Auth完成认证.46
-113.3Zend_Ac 1简介.-48
1:3.4结合Zend_Auth、Zend_Ac 1和
.-11Zend_Controller_Front-.50
.123.5用Database Object管理用户记录.-.-53
-.123.5.1 Database Object_User.-55
.1156.1.2生成URL.
.1156.1.3为各个控制器动作设置标题和
3.5.2使用Database Object _Us. 57
5.53JSON.122
5.5.4一个Ajax.Request倒子.-123
5.6 Prototype中的事件处理.127
5.6.1观察事件.128
5.6.2查找事件出现在哪个元素上.128
5.6.3取消事件.129
5.7利用Prototype创建JavaScript类.129
5.7.1创建-.130
5.7.2为函数调用绑定对.-130
5.8从Prototype转向Scriptaculous.-133
5.8.1预置拉件.-133
5.8.2拖放-.134
5.8.3视觉效果.134
5.9下载和安装Script acu lou.
5.10在一个实用例子中结合使用Prototype、
5.11小结.
第6章为Web应用设置样式
6.1增加页面标题和浏览路径.
3.6.1使用Prof11e User.
3.6.2集成Profi1e_User和
3.7小结.
第4章用户注册、登录和注销
Databased bject_User.
4.1.1为用户注册创建表单处理器.64
4.1.2显示注册表羊并处理注册.-71
4.1.3为用户注册表单增加CAPTCHA.78
4.1.4增加E-mail功能.84
4.2实现账户登录和注销.-.-.88
4.2.1创建登录模板.-88
4.3处理忘记令的情况-95
4.2.2增加account控制器login动作.90
4.2.3记录成功和失敷登录.93
4.2.4用户注销账户.95
4.3.1重置用户伞.96
4.3.2重置今的函数.98
4.4实现账户管理.102
5.2.1S()数.a.109
tn dex.php.
styles.css-.
schema.sq 1.
1ters.php-
processor.php.
scripts, js.
浏览路径.
浏苋路径.
4.4.1创建账户主页-
4.4.2更新网站导航.
4.4.3允许用户更新信息.
4.5小结.
第5章Prototype与Scr ta culo us简介.108
5.1下载和安装Proto typ.108
5.2选择文档对象模型中的对象.109
5.2.2getElerentsByClassN are() 数-110
5.2.3SSO) 函数.113
5.24getElerentsBySelectorO) 函数.-114
5.3 Prototype的Hash对象.114
5.4其他元素扩展.115
5.5 Prototype中的Ajax操作.118
5.4.1显示和隐藏元素-
5.4.2获取元素尺寸.
5.4.3管理元素类.
5.4.4用Prototype管理字符串.
5.5.1Ajax请求选项.118
5.5.2Ajax回调函数.-119
7.5.3请求对用户动作的确认.219om
7.6.1完成set status Action() -. 221
8.1.1从数据库获取博客帖子.-230
8.1.2将最新帖子和各月概要赋给
8.1.4显示各月概要.
8.2.1创建Ajax请求输出.
8.2.2BlogMonthlySumary
8.2.3安装B1ogMonithlySumary英.
8.2.4通知用户内容已更新.
8.3.1下载并安装FCKeditor.
8.3.2配置FCKeditor-
8.3.3在博客编辑页面中加载
9.1.1为用户提供定制设置.
9.1.2处理对用户设置的修改.
9.1.3创建默认用户设置.
9.2.1将请求路由到User Controller . 263
9.2.2处理对User C