1.1 基本语法

如同我在本书的前言中所提及的,PHP是一种嵌入在HTML中的(HTML-embedded)脚本语言。这意味着可以把PHP代码和HTML代码混合在相同的文件内。我们的PHP编程首先从一个简单的Web页面开始。脚本1-1给出了一个最简单的XHTML过渡型文档1的示例,我将把它用作本书中每个Web页面的基础(本书没有正式讨论[X]HTML,参见专门讨论这个主题的资源以了解更多信息)。

1 XHTML标准定义了三种文档:严格型、过渡型和框架型。——编者注

 

脚本1-1 基本XHTML 1.0过渡型Web文档

1    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3    <head>
4       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5       <title>Page Title</title>
6    </head>
7    <body>
8       <!-- Script 1.1 - template.html -->
9    </body>
10   </html>

要把PHP代码添加到页面中,可把它置于PHP标签内:

<?php
?>

放置在这些标签内的任何内容都会被Web服务器视作PHP代码(这意味着PHP解释器将处理这些代码)。PHP标签外的任何文本会立即作为常规HTML发送给Web浏览器。(由于PHP通常用来创建Web浏览器中显示的内容,因此PHP标签通常放在页面body中的某个地方。)

除了把PHP代码置于PHP标签内之外,PHP文件还必须使用正确的扩展名。扩展名告诉服务器以特殊的方式(即作为PHP页面)处理脚本。大多数Web服务器都为标准HTML页面使用.html.htm扩展名,通常PHP文件首选扩展名为.php

在开始之前,你必须已经有一个可用的PHP安装!在完成附录A“安装”之后,它会在你的托管网站或者你自己的机器上,附录A可以在http://www.peachpit.com免费下载。

理解字符编码

字符编码是一项极为复杂的主题,但当前最需要理解的是:在某文件中所使用的字符编码指示文件将显示什么字符(因此也同时指明了可以使用哪种语言)。在选择一种字符编码之前,必须首先确定所使用的文本编辑器或IDE(即创建HTML和PHP脚本的应用程序)能够使用哪种字符编码保存文档。一些应用程序可以让你在偏好设置或者选项中设置字符编码,而另外一些应用程序则只有当保存文件时才可设置字符编码。

可以利用相应的元标签为Web浏览器指示页面的字符编码:

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

charset=utf-8这一部分表明使用的是UTF-8字符编码,这是8位Unicode转换格式(8-bit Unicode Transformation Format)的简写。Unicode是一种表示所有字母和符号的可靠方式 。在撰写本书时,第6版的Unicode能支持超过99 000个字符!

如果你想创建一个能适应多语种的Web页面,UTF-8正是解决之道,我将在本书的示例中使用它。当然你没有必要非得这么做。但是无论使用何种编码,请一定要确保XHTML页面所指定的编码与文本编辑器或IDE的编码设置一致,否则你可能会在浏览页面时看到一些奇怪的字符。

 

HTML5

在撰写本书时,HTML未来的主要版本——HTML5——还在积极地开发与讨论中,还未最后定案,因此本书这一版中没有选用它。事实上,如果HTML5在我开始编写本书的第5版时仍然未能发布,我也不会感到惊讶。要想让大部分浏览器接受它还需要相当长的一段时间。尽管如此,但HTML5仍可视为未来发展的一个热点,所以本书将会偶尔介绍一些有望被浏览器逐渐引入并支持的HTML5功能。

建立基本的PHP脚本

1. 在文本编辑器或集成开发环境中创建一个新文档,命名为first.php(参见脚本1-2)。

脚本1-2 第一个PHP脚本本身不做任何事情,但是足以说明如何编写PHP脚本。在开始涉及更复杂的PHP代码之前,它还可用作测试

1    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3    <head>
4       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5       <title>Basic PHP Page</title>
6    </head>
7    <body>
8       <!-- Script 1.2 - first.php -->
9       <p>This is standard HTML.</p>
10    <?php
11    ?>
12    </body>
13    </html>

一般可以任意选择用什么文本编辑器或集成开发环境,它可以是Dreamweaver(一种优良的IDE)、BBEdit(一种优秀的、流行的Macintosh纯文本编辑器)或vi(一种纯文本UNIX编辑器,缺少图形界面)。然而,使用有些文本编辑器和IDE输入和调试HTML和PHP代码会更容易(与之相反,Windows上的“记事本”会使编码更困难)。如果你还没有找到自己喜欢的应用程序,可搜索Web或者使用本书的配套论坛(www.LarryUllman.com/forums)找到一个。

2. 开始编写基本的HTML文档。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/ xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Basic PHP Page</title>
</head>
<body>
  <!-- Script 1.2 - first.php -->
<p>This is standard HTML.</p>
</body>
</html>

尽管这是我在整本书中使用的语法,但是,你可以更改HTML以匹配你打算使用的任何一种标准(例如,HTML 4.0严格型)。同样,如果你不熟悉这段HTML代码,可以查看专门的(X)HTML资源(参见第一个提示)。

3. 在body结束标签之前,插入PHP标签。

<?php
?>

这些是正式的PHP标签,也称为XML风格的标签。尽管PHP支持其他标签类型,我还是建议你使用正式的PHP标签,并且在整本书中我也会这样做。

4. 将文件另存为first.php

记住,如果没有使用合适的PHP扩展名保存文件,该脚本将不会正确执行。(不使用记事本创建PHP文件的原因这一就是,它会默默地给文件加上.txt后缀,从而导致很多头痛的问题。)

5. 将该文件置于Web服务器上正确的目录中。

如果你在自己的计算机上运行PHP(假定在遵照本书附录A中的安装指导进行了安装之后),你只需要将文件移动、复制或保存到计算机上的特定文件夹中。如果你还不知道该目录是什么,可以查看所用Web服务器应用程序的文档,以找到该目录。

如果在托管服务器上(即在远程计算机上)运行PHP,就需要使用FTP应用程序将文件上传到正确的目录中。你的托管公司将给你提供访问权限及其他必要的信息。

6. 在Web浏览器中运行first.php(参见图1-1)。

图1-1 虽然它看起来像任何其他(简单的)HTML页面一样,事实上,这是一个PHP脚本,它是本书中其余示例的基础

由于PHP脚本需要由服务器解析,你肯定必须通过URL访问PHP脚本(如浏览器中的地址必须以http://开头)。你不能像在其他应用程序中打开一个文件那样在Web浏览器中简单地打开它们(比如以file://或c:\等开头的地址)。

如果在自己的计算机上运行PHP,将需要到达http://localhost/first.php、http://127.0.0.1/first.php或http://localhost/~<user>/first.php(在Mac OS X上,为<user>使用实际的用户名)。如果正在使用一台Web主机,那么需要使用http://你的域名/first.php(例如,http://www.example.com/first.php)。

7. 如果没有看到如图1-1所示的结果,可以开始进行调试。

学习任何编程语言的一个必不可少的部分是掌握调试方法。它是一个有时非常痛苦却绝对必要的过程。对于第一个示例,如果你没有看到一个简单但完全有效的Web页面,可遵循以下步骤:

1. 确认你正确安装了PHP(参见本书附录A,了解测试指导)。

2. 确保你正在通过URL运行脚本。Web浏览器中的地址必须以http://开始。如果它以file://开始,就会出现问题(参见图1-2)。

图1-2 PHP代码只能通过http://运行(否则这个特定脚本就不会起作用)

3. 如果得到一个未找到文件(或类似)的错误,很可能是把文件放在错误的目录中或者输入了错误的文件名(在保存它时或者在Web浏览器中)。

如果你执行了所有这些步骤但是仍然有问题,可以求助于本书相应的论坛(www.LarryUllman.com/forums/)。

提示

  • 有关HTML和XHTML的详细信息,可以查看Elizabeth Castro写的好书《HTML XHTML CSS基础教程(第7版)》(人民邮电出版社)或者搜索Web。

  • 你可以在一个HTML文档中嵌入PHP代码的多个部分(即可以在两种语言之间来回转换)。在整本书中都可以看到这样的示例。

  • 在UTF-8之前,最常用的字符编码之一是ISO-8859-1。它可以显示几乎全部西欧语言。目前,很多Web浏览器和其他应用仍在使用它作为默认字符编码。

  • 你可以通过在文件首行添加@charset "utf-8"来为外部的CSS文件声明字符编码;如果用的不是UTF-8,那就将其改为相应的字符编码。

目录