PHP动态网页设计(第2版) 第一章:PHP是什么,我要关注什么
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 2 3 4 5 8 16
9 6 7 10 11 14 15 12 13 3
PHP 是什么—— 我为什么要关注它
关于PHP ,大多数人首先想要知道的问题之一就是这个首字母缩写词代表什么。而当他们知道了之后,一定会觉得它非常枯燥无趣。正式的说法是,PHP 表示PHP: Hypertext Preprocessor (超文本预处理语言)。这是一个晦涩的名字,它给人留下的印象是专门供那些极客使用的。但这绝不是事实。
PHP 是一种脚本语言,它通过以下方式为网站注入动态特性:
❑ 直接将反馈从网站发送到邮箱中; ❑ 通过网页上传文件; ❑ 从较大的图像生成缩略图; ❑ 读写文件;
❑ 动态地显示和更新信息; ❑ 使用数据库显示和存储信息;
第1章
2第1章PHP是什么——我为什么要关注它
❑使网站支持搜索。
通过阅读本书,你将能实现所有这些功能。PHP很容易学习;它与平台无关,因此相同的代码可以在Windows、Mac OS X和Linux上运行。而且在PHP开发中需要用到的所有软件都是开源的,因此可以免费使用。几年以前,在PHP General邮件列表(/php.general)上出现了一次有趣的讨论,是关于改变PHP缩写词的含义的。这些提议中包括Positively Happy People (积极快乐的人)和Pretty Happy Programmers(快乐的程序员)。本书的目的就在于帮助你实际运用PHP——并且在这个过程中理解是什么使得PHP程序员如此快乐。
本章将介绍以下内容:
❑PHP如何发展成为动态网站中应用最广泛的技术;
❑PHP如何实现动态网页;
❑学习PHP有多难,或多简单;
❑PHP是否安全;
❑你需要什么软件来编写PHP。
1.1PHP的发展史
尽管PHP如今已成为使用得最广泛的动态网站创建技术,但在1995年刚出现的时候,它的野心不是特别大,而且名字也与现在不同。它最初名为Personal Home Page Tools(个人主页工具,PHP工具),它的目标之一就是通过一个在线表单收集信息并将其显示在网页上,来创建一个留
1.2 PHP 是如何使页面实现动态效果的 3
1 2 3 4 5 8
16
9
6 7 10 11 14
15 12 13 3 言簿。不久之后,又增加了与数据库通信的功能。1998年推出PHP 3时,人们决定将Personal Home Page 从它的名字中去除,因为它听起来像是为业余爱好者设计的,无法准确反映它增加的各种复杂的特征。PHP 3被形容为“一种对程序员非常友好的脚本语言,适合只有极少或没有编程经验的人以及经验丰富但需要快速完成任务的Web 开发人员使用。”
从那时开始,PHP 又有了进一步的发展,PHP 5中为面向对象编程(OOP )增加了大量的支持。不过PHP 的巨大吸引力之一仍然在于它保持了最初的本色。你不需要学习许多理论就能够开始编写有用的脚本,同时也能相信这门技术能开发出具有行业水准的应用程序。PHP 推动了一些十分流行的内容管理系统(CMC )的发展,例如Drupal (/)、Joomla!(www. )和WordPress (/)。一些非常流行的网站,包括Facebook
( )和Wikipedia ( ),也使用了PHP 。
从庞大的用户群、广泛受支持和大量高级特性这些意义上讲,PHP 如今被认为是一种成熟的技术。新的特性还在不断增加,尽管只有那些高级用户才对它们感兴趣。
在写作本书时,最新的版本是PHP 5.3。当意识到最初的目标定得过高时,PHP 6的开发在2010年年初的时候就被无限期地搁置了。
本书的重点在于现在可以使用的代码,而不是未来某个不确定的时间将会使用的代码。我们还注意避免使用已经被弃用的功能——换句话说,那些被标记为从下一个PHP 的主版本中删除的功能。
1.2 PHP 是如何使页面实现动态效果的
PHP 最初是被设计成嵌入网页的HTML 中的,这也是它仍被经常使用的方式。例如,如果你
4第1章PHP是什么——我为什么要关注它
想要把当前年份显示到一个版权声明中,可以把以下代码加入页脚中:
© PHP Solutions
在一个支持PHP的Web服务器中,标记之中的代码是自动处理的,并且像下面这样显示年份:
这只是一个简单的例子,但是它说明了使用PHP的一些好处。
❑你可以不必担心需要更新版权声明,尽情地享受新年派对吧。任何在午夜来临之后访问你的网站的人都会看到正确的年份。
❑与使用JavaScript显示日期不同,这个过程是在Web服务器上完成的,所以它并不依赖于用户的浏览器是否启用JavaScript。
❑日期是由Web服务器计算出来的,因此如果用户电脑上的时间设置错误的话它也不会受到影响。
尽管像这样将PHP代码嵌入HTML中很方便,但这通常会导致重复输入相同的代码,这很麻烦而且会导致错误。还会使得网页难于维护,尤其是当你开始使用更加复杂的PHP代码时。因此,通常的做法是将许多动态的代码储存在独立的文件中,并且使用PHP通过这些不同组件来生成页面。这些独立的文件,或通常称为包含文件(include file),可以只包含PHP,或只包含HTML,或是这两种都包含。
开始时可能很难适应这种操作方式,但是它的效率要高得多。举一个简单的例子,你可以将
1.2 PHP 是如何使页面实现动态效果的 5
1 2 3 4 5 8 16
9
6 7 10 11 14 15 12 13 3 网站的导航菜单放入一个包含文件中,并且使用PHP 使其包含在每个页面中。但凡需要对这个菜单进行任何修改时,你都只需编辑一个文件——包含文件,所做的修改就会自动地体现在每一个包含这个菜单的页面中。想象一下在一个由数十个页面组成的网站中,这将会节省多少时间。
在普通的HTML 页面中,Web 开发人员在设计时就将内容固定在页面中并且上传到Web 服务器上。当有人访问这个页面时,Web 服务器只是发送这个HTML 和其他相关内容,如图像和样式表。这是一种简单的事务——请求来自于浏览器,固定的内容由服务器发送回来。当你使用PHP 创建网页时,还有许多其他的过程。图1-1显示了都发生了什么。
图1-1 Web 服务器动态地生成每个PHP 页面来响应请求
访问用PHP 构建的网站时,它会启动以下事件序列。 (1) 浏览器向Web 服务器发送一个请求。
(2) Web 服务器将请求提交给嵌入到服务器中的PHP 引擎。
(3) PHP 引擎处理代码。在许多情况下,在生成页面之前可能还会查询数据库。 (4) 服务器将完成的页面传回给浏览器。
这个过程通常只需要零点零几秒,因此PHP 网站的访问者感觉不到任何的延迟。由于每个页