首先是我的忏悔时间。当我第一次使用Dreamweaver UltraDev 4开始开发动态网站时,简直是一团糟。我相当天真地认为Dreamweaver会为我“做所有的事情”,我需要做的只是指向和点击鼠标。前两个项目确实进展得很顺利,这给了我一种自以为很安全的错觉。只要我尝试做不符合相同模式的基本指南的任何操作,情况就会变得极其糟糕。虽然我一直乐于和代码打交道,但是看看“代码”视图里面繁杂的内容还是会让我不寒而栗。.
问题的原因一部分在于我没有清楚地领会数据库结构,也未真正理解服务器端技术的内涵。另一部分原因是我把Dreamweaver视作一种所见即所得(WYSIWYG)的程序。如果我看到某一内容没有出现在正确的位置上,就会在“设计”视图中突出显示它并点击DELETE键。我并没有意识到这样做会留下杂乱无章的代码,甚至会导致最简单的应用程序运行中断。我删除的内容越多,情况就越糟。
我不希望在你身上也发生这种情况,这就是我编写本书的原因。
读者对象
为了能够利用像PHP这样的服务器端语言来开发动态网站,你需要很好地领会Web设计的原理。应该熟悉HTML(Hypertext Markup Language,超文本标记语言)或XHTML(Extensible Hypertext Markup Language,可扩展超文本标记语言)的基础知识,而且最好具有一些CSS(Cascading Style Sheet,层叠样式表)的知识。你不需要知道如何手工编写Web页面的代码,但是本书会频繁涉及切换到Dreamweaver的“代码”视图并调整代码。除非你熟悉Web页面的基本结构,否则你会发现很难跟上所有的步骤。
我假定读者以前没有PHP或如何使用数据库的知识。本书详细说明了如何做好一切准备工作,并且讲授PHP和SQL的基本原理,SQL是用于同数据库交互的语言。本书的目的不是把你转变成一名“程序员”,而是让你充分理解正在发生什么(以及原因),从而帮助你避免我最初犯的错误。
对于那些具有PHP、MySQL数据库知识的读者,我希望本书也同样有价值。甚至是那些讨论PHP基础知识的章节也有助于你在Dreamweaver 8环境中更高效地工作。学完本书后,你将能够研究相对高级的主题。本书包含了许多自定义的函数,更喜欢编写代码的读者可能会乐于解析和改编这些函数。如果你对编码不感兴趣,可以只使用这些函数,而不必关心它们如何工作。
我需要Dreamweaver 8吗
本书是专门针对Dreamweaver 8编写的,如果你使用的是Dreamweaver以前的版本,有些内容可能不适用。没有版本8时也可以使用Dreamweaver MX 2004来代替,因为大多数服务器行为是完全相同的,但是MX 2004版本中的“用户认证”(User Authentication)服务器行为的一些bug将会使第10章中的某些内容无法实现,并且第12章中的操作都无法执行(该章介绍了新的、吸引人的XSL Transformation服务器行为)。你也无法看到CSS呈现和“代码”视图的一些重要的增强功能。
如果没有Dreamweaver 8或者其他版本,问题也不大。你可以从www.macromedia.com/ cfusion/tdrc/index.cfm?product=dreamweaver下载一个30天的试用版。
所需的其他软件是Windows或Mac OS X操作系统自带的,有些可以从因特网免费下载。本书根据需要给出了下载地址。..
Windows与Mac OS
本书所有内容都在Windows与Mac OS X 10.3和10.4上进行了测试。大多数屏幕截图都取自Windows版本,但是,在提及Mac OS X独有的特性或者明显不同于Windows版本的特性时,本书包含了单独的屏幕截图或描述。幸好,Dreamweaver 8的Windows版本和Mac版本之间差别极小,因此,Mac用户在使用本书时应该不会感到困难。
所有用到的键盘快捷键都是以Windows/Mac的顺序给出的。如果你是Mac OS X新手并且没有美式键盘,就可能会对OPT键的键盘快捷键使用感到迷惑。在英式Mac键盘上,这个键被标记为Alt。无论你使用哪种Mac键盘,都可以通过右边所示的符号来识别它。
如果我是Dreamweaver新手怎么办
本书是一本“基础教程”,因此对每一步都给出了详细的指导。不过,我建议你自己首先要熟悉Dreamweaver工作区。按下F1键打开“Dreamweaver帮助”,看看“Dreamweaver入门”和“Dreamweaver基础”这两部分。
图0-1显示了Windows中的Dreamweaver工作区,它使用的是“设计”布局。(每个元素的位置与Mac版本中的完全相同。)这幅屏幕截图显示了一个在“拆分”视图中打开的PHP文档,这允许你在看到最终设计的相当精确的表示时查看一部分底层代码。只要你熟悉下面所标出的工作区的各个部分,并且很好地理解了Web页面布局,就应该能够毫不费力地遵循本书的指导。在右边显示的面板组中,用于构建动态站点的两个最重要的面板(“应用程序”和“文件”)是展开显示的。
图0-1 Dreamweaver的界面
本书内容
本书书名实际上指出了本书所介绍的全部内容,即结合使用PHP与Dreamweaver 8。如果你对像PHP和服务器端编程这样的说法感到陌生,可仔细阅读第1章,本章概述了本书所涉及的内容并简要解释了Dreamweaver 8中的服务器行为的作用。第2章探讨了Dreamweaver 8的新特性,并特别强调了PHP。第3章和第7章详细介绍了PHP、MySQL的安装指导,以及MySQL的图形界面phpMyAdmin。
.第4章初步建立了East-West Seasons案例研究,对这个案例研究的讲解贯穿全书,包括对PHP基础知识的介绍(第5章和第6章),以及Dreamweaver 8中所有与PHP相关的服务器行为(第8章~第12章)。本书还介绍了如何构建你自己的服务器行为(第10章和第11章)。
本书只重点介绍PHP,因此没有浪费时间来介绍它与ASP、JSP或ColdFusion之间的区别。如果你对ASP感兴趣,可以参阅Omar Elbaga和Rob Turnbull所著的Foundation ASP for Dreamweaver 8(friends of ED公司出版,ISBN 1-59059-568-8),这本书也同样只讲述ASP。可以看一看,但请一定要先买我这本书。
对本书提供的支持
可以从www.friendsofed.com/downloads.php上下载本书所有必要的文件。如果你遇到说明性的问题,可以使用Dreamweaver 8中新增的“文件比较”特性来比较你的代码和下载文件(如第2章所述)。如果这不起作用,可以在www.friendsofed.com/books/1590595696上检查本书的勘误页面。我尽量避免犯错误,但是错误在所难免。在本书付印后,也可通过勘误页面找到新发现的错误。
如果你仍然找不到答案,可以在www.friendsofed.com/forums上把你的问题贴在friends of ED论坛中,我会设法尽快帮你解决。请尽可能准确地陈述问题。比如可以这样提问题:“我在Foundation PHP for Dreamweaver 8的某某页的第7步中这样做了,但是发生了这种情况。”而不要像这样提问题:“第2章(未指出书名)不见效。”显然,前者比后者解答起来要容易得多。
致谢
尽管封面上只出现了我一个人的名字,但是,如果没有许多其他人的帮助与合作,本书是不可能出版的。最先要感谢的是我的编辑Chris Mills,在我处理问题只见树木不见森林时,他耐心地听取我没完没了的电话并给我指出正确的方向。Chris近来成为了Mac的忠实用户,总是提醒我不要忽视Mac团体的需求。接下来要感谢Richard Dal Porto,他在不知道我是否能写完最后一章的情况下(我自己也常为此困惑),设法使一切走上正轨。我还应该提到文字编辑Andy Carroll。没有哪位作者喜欢把他精心撰写的作品交给另外一个人彻底审查,但是,Andy的警觉得以消除了原稿的许多歧义。
我还从Dreamweaver开发团队的多位成员那里收到了无价的帮助,他们给了我许多关于Dreamweaver的工作方式的深刻见解,甚至还把我的一些建议纳入到了Dreamweaver 8的最终版本中。必须要特别感谢该团队中的一位成员Josh Margulis,他帮助我弄清楚了新的XSL Transformation服务器行为和XPath Expression Builder的奥妙。
同时还要感谢InterAKT的Alexandru Costin,他让我提前领略了最新的MX Kollection工具,它们把Dreamweaver 8的使用提升到了一个新层次。
最后,要对Jason Nadon的专业技术审稿人表示深深的感谢。他甚至不惜放弃周末的海滨休闲来帮助我。现在,我把此书献给你。...