下载
第8章 PHP API
PHP 是一种脚本语言,可以编写包含嵌入式代码的 Web 页面,只要访问页面就能执行这
些代码,并且这些代码还能生成动态的内容作为输出的一部分发送到客户机的 Web 浏览器。
本章描述了如何用 P H P编写使用M y S Q L的基于We b的应用程序。有关 C 与 PHP 和 Perl DBI
API 的比较,请参阅第5章“MySQL 程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
介绍”。
本章的实例利用了样例数据库 s a m p _ d b,这个实例使用了为学分保存方案而创建的表和
第1章“MySQL 和 SQL 介绍”中为历史同盟而创建的表。虽然在写本书时 PHP 4还处于ß测
试阶段,而当您读到本书时它可能已经发布了,但这里还是要涉及 PHP 3的内容。与P H P 3兼
容是 PHP 4 的一个明确设计目标,因此这里所说的有关 PHP 3的各个方面都可应用到 P H P 4中。
从 PHP 3 更改到 PHP 4 有一组移植注意事项。如果使用 PHP 4,就应该阅读那些注释。
本章假设的环境是:PHP 与 Apache Server结合使用。必须安装 MySQL C 客户机库和头
文件,因为建立 PHP 时需要这些文件,否则 PHP 不知道如何访问 MySQL 数据库。如果需要
获得一些这样的软件,请参阅附录 A“获得和安装软件”。附录中还给出了获得本章开发的实
例脚本的说明,您可以直接下载这些脚本。
在 UNIX 环境下,PHP 或者作为内建模块用于 A p a c h e,该模块连接到 Apache 可执行的
二进制程序上;或者作为独立的用于传统 CGI 程序的解释程序。在 Windows 环境下,虽然开
发在Windows NT 环境下运行的 Apache PHP 4 模块的工作正在进行之中,但是此刻的 P H P只
能作为一个独立程序来运行。
本章的大部分篇幅,都用来说明了在这里讨论所需要的 PHP 函数。要想较全面地了解所
有关于 MySQL 的函数,请参阅附录 H“PHP API 参考”,也可以查阅 PHP 手册,它描述了
PHP 提供的全部函数,包括使用除 MySQL 以外的数据库的函数(使用 M y S Q L时,PHP 不受
限制的部分仅仅只有 D B I)。这个手册可以从 PHP Web 站点下载:h t t p : / / w w w. p h p . n e t /。该
Web 站点也有从 PHP 3移植到 PHP 4的注意事项。
8.1 PHP 脚本的特点
PHP 脚本的文件名带有扩展名,该扩展名允许 Web 服务器识别文件名并执行 PHP 解释
程序去处理它们。如果使用了不可识别的扩展名,则 PHP 脚本被当作纯文本。本章使用的扩
展名为 . p h p,其他通用的扩展名为 .php3 和 . p h t m l。有关配置 Apache 来识别扩展名的说明,
请参阅附录A。在机器上,如果没有掌握 Apache 的安装,那么需要与系统管理员一起检查,
找出可使用的适当扩展名。
8.2 PHP基础
PHP 的基本功能就是解释一个脚本,来生成发送到客户机的 Web 页面。具有代表性的
是,脚本包括逐字发送到客户机的 HTML 和作为程序执行的 PHP 代码的混合编码。无论
代码生成什么样的输出,都会发送到客户机,因此客户机永远不会看到代码,它只能看到
结果的输出。
当 PHP 开始读取文件时,假设文件内容表示文字的 H T M L,则它仅仅拷贝在那里找到的
输出内容。当 PHP 解释程序遇到一个特殊的打开标记时,就从 HTML 模式切换到 PHP 代码
模式,而作为要执行的 PHP 代码也开始解释文件。代码的结尾由另一个特殊的标记指出,解
释程序在这个位置从代码模式切换回 HTML 模式。这就允许将静态的文本( HTML 部分)与
动态产生的结果( PHP 代码部分的输出)相混合,产生依赖于调用环境变化的页面。例如,
可以使用 PHP 脚本来处理表格的结果,在这个格式中,用户已经输入了数据库搜索的参数。
由于格式填入内容的不同,所以每次搜索的参数可能也不同,因此当脚本执行搜索的时候,
每个作为结果的页面将反映不同的搜索。
让我们通过一个非常简单的 PHP 脚本看一看它是如何工作的:
这个脚本并不很有趣,因为它不包括 PHP 代码!因此您会问:那它有什么好处?这个问
题的回答是:它有时有助于建立包括想要生成页面的 HTML 框架的脚本,然后再加入 P H P
代码。这是非常有效的,PHP 解释程序用于它是没有问题的。
为了在脚本中包括 PHP 代码,您可从用两个特殊标记(脚本开始处的‘ < ? p h p’和脚本
结束处的‘? >’)把它与周围的文本区分开来。当 PHP 解释程序遇到开始的‘< ? p h p’标记时,
就从 HTML 模式切换到 PHP 模式,并解释它找到的任何 PHP 代码,直到看见结束的‘ ? >’
标记为止。它产生的所有输出解释并替换了两个标记之间的脚本。将前面的实例再重新编写
一下,它包括了少量的 PHP 代码,如下所示:
此时,代码部分是很小的,由单行组成。当解释代码时,产生了输出“ hello, world”,它
作为输出部分发送到客户机浏览器。这样,这个脚本产生的 Web 页面与前面实例产生的 We b
页面一样,前面实例的脚本完全由 HTML 组成。
可以使用 PHP 代码产生 Web 页面的任何部分。我们已经看到了一个特别的实例,在那里
整个脚本都由文字的 HTML 组成,而不包括 PHP 代码。另一个特别的实例是整个脚本都是
PHP 代码而不包括文字的 H T M L:
这说明 PHP 在如何产生输出方面有很大的灵活性。但 PHP 也留下一个问题,那就是确定
如何组合 HTML 和 PHP 代码才是合适的。不必把所有代码都放在一个地方, PHP 在这方面
也很灵活。只要您高兴,就可以通过脚本在 HTML 和 PHP 代码模式之间进行转换。
第8章 PHP API计计249
下载
PHP 脚本标记
除了本章实例中使用的标记之外, P H P还支持其他的脚本标记。您可以在其他人编写
的 PHP 代码中看到它们,或者可以自己使用这些标记。 PHP 识别四种标记风格:
■ 缺省标记风格。这是PHP 配置为缺省时使用的风格:
■ 简洁开标记风格。这个风格除了开标记较简洁外,其他与缺省风格相类似:
■ 兼容 ASP 的风格。这个风格在 Active Server Page 环境内部是通用的:
■