表格和图片等,就请继续插入这些内容,保存,并关闭WYSIWYG编辑器。
现在,在记事本中打开该文件,看看你的PHP代码是否发生了变化,包括代码格式上的改变,特殊字符的转换(如< <;)以及完全被删除的代码。
你可能会发现PHP代码被以某种方式改变了。因为PHP代码对一些WYSIWYG编辑器导致的变化是敏感的,如果你在写PHP代码的时候,使用WYSIWYG编辑器,这就很难让人理解了。PHP社区不会因为这个原因,而建议你不要使用WYSIWYG编辑器,因为使用这样的编辑器有时还是可以加快程序的开发速度的。
现在,当你读代码或者测试本文中的程序时,请试着习惯使用这些纯文本编辑器吧。当你习惯使用纯文本编辑器的时候,再使用其它的编辑器,那就容易上手的多了。到那时,你就可以识别出编辑器自身生成的代码,也就能更容易的找出提高你工作效率的方法了。
不管你现在处理PHP代码的编辑器是什么,如果你正在用的是WYSIWYG编辑器,我建议你使用如记事本这样的纯文本编辑器,或者一些带有语法加亮功能的纯文本编辑器。这些编辑器可以保证你的代码就像刚输入时的一样(WYSIWYG编辑器倾向于以它自己的规则来格式化你的代码,而这种功能对于编辑PHP代码来说并不需要)。即使你的编辑器没有改变你的PHP代码,但如果它不是一个严格基于文本的编辑器,仍然会在随后的运行中可能会出现问题。
这是创建和浏览HTML文件的一般过程:
1.创建HTML文件(添加文本,表格,图像,或声音等)。 2.保存HTML文件,命名为filename.html。 3.用FTP程序把你的文件上传到Web服务器。
4.用你的浏览器访问Web服务器上的文件(如,http:/ / www.example.com /filename.html)。
创建PHP程序的过程大致与创建HTML文件的过程相同:
1.创建HTML文件(包含文字,表格,图像,或声音),并在适当的位置插入PHP代码。
2.保存PHP文件,命名为filename.php。 3.使用FTP程序上传你的文件到Web服务器。
4.用你的浏览器访问Web服务器上的文件(如http:/ / www.example.com
5
/filename.php)。
可见,创建PHP程序和创建常规HTML程序的过程没有多大不同。
在了解了创建PHP程序的大致过程后,请看一下你的第一个PHP程序。看过代码你将了解,如何将PHP文件与普通的HTML文件相区分,如何把它上传到你的Web服务器上,以及在浏览器中页面看起来应该是什么样的。
PHP
/* Display a text message */
echo “Hello, world! This is my first PHP program.”; ?>
这个文件看起来和一个普通的HTML文件很像。注意,文件中包含了典型的HTML标签。事实上,如果你忽略标签间的内容,你也可以把该文件重新命名为.html的后缀名。
然而,这个文件的确包含了PHP代码,所以它必须被命名为.php后缀名。PHP代码在两个PHP标签之间(()),如图1.1所示。PHP标签之间的命令是“echo”(PHP的关键字,意思是“显示文本”)随后跟的是要显示的文本。结果很快被显示出来,“echo”后面的文本看起来就像是包含在HTML文件本身一样,似乎就没有PHP代码存在过。
6
图1.1:这幅图显示了一个基本的PHP程序的不同部分。
在看输出的结果之前,我们先把这个文件上传到Web服务器上并且运行。按照上面写PHP程序的过程,将它保存为PHP文件(.php后缀名),并上传到你的Web服务器。
一旦你的程序被上传到您的Web服务器,在你的浏览器中输入该文件地址。你应该得到一个返回的页面,它看起来应该非常类似如下的截图。
图1.2:当你访问你的程序时应该看到这样的页面。
4 编程语法
当你访问刚刚上传的PHP程序时,该PHP程序在返回浏览器之前是经历了一个复杂的过程的。PHP文件中的相关命令就是在这个过程中被执行的;在这个例子中,是一个单独的echo语句。图1.3显示当PHP文件发送请求时历经的过程。
7
图1.3:不像HTML文件,PHP文件在被返回浏览器时执行了文件中包含的PHP命令。
PHP解释器(或解析器)程序,正如上图中看到的那样。它读取PHP程序并执行它所能理解的命令。(如果PHP碰巧遇到一个它不能理解的命令,它会停止继续解析该文件,并返回一个错误消息给浏览器。)
每当PHP在给Web服务器发送请求时,该PHP解释器在给浏览器反馈信息前,必须先处理PHP文件中的命令。因为PHP的每次运行,都必须调用相关的例程,以便执行这些命令。
这和编译型语言有所不同,如C或C + +,它们只被解释一次;C语言程序,直接被翻译成机器码(机器码直接由CPU处理)。PHP不得不解释程序中包含的命令,这些命令还在必须以PHP能够识别的形式给出。例如,如果有人走向你,用德语询问时间,你可能不知道他在说什么(除非你懂得德语或者这个人指着他的手腕)。同样地,如果我走到你面前说,用英文语美味问你,“现在几点了?“你可能也不知道我在说什么。
PHP也有类似的限制。语句(命令的集合,由特定字符组成,PHP能够识别的句子)必须以正确的命令格式给出。例如,你要在PHP中显示一条文本,你必须使用PHP能够识别的命令,如“echo”。同时,你必须把你的单词,以正确的顺序,用英语讲给别人。还要格式化要传递给PHP执行的语句,以便PHP解释器能够识别并执行。
语法,就是将PHP能够理解并执行的句子组织到一起的过程中要遵循的规则,这
8
就是PHP的开始和结束标签。PHP只解析在PHP标签之间的代码。而不在这其中的代码只是作为HTML页面的一部分返回,正如先前看到例子一样。
如下这个例子,该语句不能执行,即使该命令是PHP语言的命令: echo “This won’t work.”
该语句不会执行,因为它没有遵循所有的语句必须以分号结尾的基本语法规则。一些特殊的语句不需要有分号,但不是很多(如do语句。)注意,PHP语句必须以分号结束。下面的语句能够正确执行并输出:
echo “This works!”;
你可能注意到了,即使两个语句在同一行,但语句间并没有分号分隔,PHP并不会报错。这是PHP的一个特性,它使得插入一个单独的echo语句变得更加容易。如果你想在第一个echo语句运行后看到返回的错误提示,那么将这两个语句输出到不同的行,看起来就像这个样子:
echo “This won’t work.” echo “This won’t work.”
代码不会运行,PHP将返回一个错误信息,因为没有分号来分隔这两个语句。
5 嵌入式语言如何工作
通过前面的讲解,我们知道PHP代码必须封装在这两个 PHP标签之间。在同一文件中,使用标签来分隔PHP代码和HTML代码,这就允许将PHP代码要处理的信息和HTML要显示的信息直接混合在一起。这使得PHP成为一种嵌入式编程语言,因为PHP代码被直接嵌入在HTML代码中了。
这个概念是相对较新的:在PHP语言出现之间,并没有程序要像HTML这样复杂的格式化显示的需求。显示在屏幕上的信息通常只是字母,数字,和空格,没有颜色,大小或其它的格式标记。
自从PHP作为Web编程语言出现以来,它便趋向于在HTML中使用,这大大增加了要返回给浏览器的信息量。PHP不仅要返回信息给用户,而且也需要正确的格式化这些信息。
为了使信息和标签能够简单混合,PHP代码被直接嵌入在HTML页面中。开篇的
9