上面列出的这个页面并不比本章开头所列的普通 HTML 版本更能让人深刻印象。然而,传入不同的变数将导致自动产生任意数量的特定页面,在前述的例子中,其页面是依条件选列出书籍,而不是以作者的姓氏来选,因此结果是没有任何再进一步的工作。如果我们在资料库中新增关于另一个公司的新书,这些例表将自动更新,以反映新的资料。
从这两个不同的原始清单中可以看出,不能从用户端检视伺服端 scripting 。所有重头戏都发生在原始码传送给用户端之前。从 Web 服务器形成之后,原始码在另一端以普通 HTML 的形式出现。这也意味着不能区分出使用了哪种伺服端 scripting 语言,除非在标头( header )或 URL 中有列示。这些 scripting 是以 PHP 和 MySQL 资料库编写的,在本书第二部分可以学习关于这些技术的所有内容。
许多工作和完成都可选用户端的方式或伺服端的方式。例如,发送 e-mail 的用户端方式,是在使用者按一下 mailto 钮链结时以用户端邮件应用程序打开一个收件人地址是空白的电子邮件视窗;但使用伺服端方法是则让用户填写表单,其中的内容格式化为电子邮件 开式,并透过一个 SMTP 服务器发送。还可以在浏览器检测、表单校验、下拉清单和算术运作等工作的用户端方法和伺服端方法之间来选择。有些时候,在它们的功能上有些微而重要的差别(在伺服端,下拉清单可动态生成,而用户端则不行),不过并不 全然都昭此 。
怎么选择呢?请先从了解你的使用者着手。伺服端方式一般在执行时间上会慢一些,因为要进行额外的传输,但对于拜访者的浏览器能力并不做任何假设,而且开发人员进行维护的时间会相对比较少。这使得它们很适合一般大众市场和教育型的网站。如果能够绝对肯定自己的拜访者都有更新过的浏览器以及较高的存取量,就能够自由进行 scripting 语言和制图。最后要记住,可以使用 PHP 生成静态 HTML 和 JavaScript ,这样就能兼顾两个大方向,后面将对比进行更深入的讲解。
伺服端 scripting 的擅长之处
用户端和服务器各有优点,伺服端 scripting 在呈现上比较缺乏视觉上的吸引力。大多数 Web 用户即使不是每小时,至少是每天都在和伺服端 scripting 成品打交道 貌 岸然。
而像「即使 3D 枪战影片」这一类事情是服务器绝对没法子帮上忙完成的。专案需要的 回应越 即时、图形越密集,则越不适合采用 PHP 来实现它。此刻,对于这些目的来说, Web 是太慢了(尽管宽频领域的精英们正在努力于改变此 一 现状)。
另一方面, PHP 之类的伺服端 scripting 能够在 Web 上发挥得很好的方面是:
◆ 内容网站(包括制作和显示)
◆ 属于社群特性的站(像论坛、公布栏……等)
◆ e-mail( Webmail 、邮件转发、由 Web 应用程序发信 )
◆ 客户支援和技术支援系统
◆ 广告网路
◆ Web 发送及投递业务的应用程序
◆ 目录和成员名单
◆ 调查、民意测验和测试
◆ 线上填写和表单提交
◆ 个人化的技术
◆ 群组软体
◆ 目录、小册子和资讯网站
◆ 基本上包括其它任何需要把后端服务器(资料库、邮件、 LDAP 等)连接到 Web 服务器的应用程序。
PHP 能够处理以上所列出的基本任务。
经过前述内容,现在读者应该对用户端和伺服 端技术 之间的差异点有所体会,接着该动手实践了吧。接下来的章节会谈到如何取得、安装以及设定 PHP (或其它人来为你做这些事情)。
由于程序设计语言最近的快速发展,程序设计和 scripting 语言之间差别已渐变得模糊。例如, PHP 本身就使用了和其它程序设计语言中一样的控制结构。然而,完全直译 式执行 的 HTML 嵌入式语言,诸如 ASP ,仍是被认为是位于 scripting 语言这一侧,而单独编译的 二进位码则是 程序设计的比较鲜明的标 标 。但由于 PHP4 现在是动态编译的(编译好的二进位码被保存起来并重复使用,直到原始 码有了 变更),它也正式成为一种「真正的」程序语言,这种改变可以说明 PHP4 在速度上的变化,它已经和 Perl 被归纳为同一类。
摘要
要知道 PHP (或任何其它伺服端 scripting 语言技术)可以做些什么,并掌握用户端和服务器之间的工作划分是相当重要的课题。在本章中,我们使用例子示范了普通的静态 HTML 、由用户端来产生效果(如 Java Script 和 CCS )的 HTML ,还介绍了从伺服端和用户端上看到的 PHP 所产生的 Web 网页。
用户端 scripting 语言在视觉上较具有吸引力,并且可以迅速回应使用者的输入,但任何超出最基本 HTKL 的内容就会取决于浏览器的不同而受到影响。静态的 用户有端 scripting 还需要开发人员用更多的时间进行维护和更新,因为页面不能根据不断变化的资料存取而自动生成。伺服端程序设计和 scripting 语言,诸如 PHP ,能够把资料库和其它服务器连接到 Web 网页中。
PHP4 在架构上与其它一些伺服 端工具 不同,甚至和 PHP3 也不同。它是可动态编译的,这使得它在执行时更迅速。 PHP4 甚至还把 scripting 引擎( Zend )从 scripting 语言中分离出来了。