欢迎阅读本书。在上一版中,主要围绕着使用PHP 5和MySQ 5作为核心技术的能力进行了修改。在上一版出版后的两年时间里,几乎没有什么变化:PHP 5和MySQ 5是可靠的、稳定的,并且为我们今天所使用的众多的基于Web的应用程序提供强大的功能。很多托管提供商现在都默认地提供PHP 5,而不支持PHP 4(PHP 4已经进入了风烛残年),这就确保了想要使用PHP 5和MySQ 5的所有人都不用在他们自己的机器上安装这些应用程序(尽管本书的前4章介绍了如何安装它们)。本书这一版中的所有代码都基于PHP 5,并且,相应的使用了PHP中的MySQ Improved Extension (mysqi),使用MySQ 5作为后台数据库。 你可能已经听说了PHP 6或者已经看到一些图书宣传自己使用了PHP 6作为核心语言。在2008年5月编写本书的时候,PHP 6还处在开发阶段,并且还没有进入到开发过程的等待发布阶段。尽管PHP 6可能会在2008年年底之前进入等待发布阶段,但是在该语言以及驱动它的引擎经过全面测试和改进以达到版本公认稳定和成熟之前(这可能要到2009年的某个时候),托管提供商不会愿意提供这一新技术来普遍使用。根据这些信息,本书的这一版要基于开发中的版本去覆盖该语言的各个方面,这完全是不成熟的做法,尤其是,本书的目标是提供掌握用PHP语言(稳定而广泛使用的版本)编程的基本技能所必须的概念。 在本书中,你将学到配置和管理Apache Web服务器所必需的概念、PHP编程基础,以及使用和管理MySQ关系型数据库系统的方法。本书的目标是提供理解如何无缝地整合这些技术的基础,并且教授整合它们的实用知识。 本书的目标读者 本书为那些对基于Web的开发环境(可能是在inux/UNIX或Windows下,甚至是在Mac OS X下)具有一般性理解的人们量身打造。假设你已经熟悉了自己的操作系统,并且掌握了编译(在inux/UNIX系统上)或安装(在Windows和Mac OS X系统上)软件的基本方法。 假设读者没有任何关于语言的知识,可先阅读介绍使用PHP编程的章节,然而,如果你有使用其他编程语言的经验,例如ASP、JSP或Per,你会发现这些章节学起来很容易。类似的,如果你已经使用过其他的数据库,例如Orace或Microsoft SQ Server,就会为学习和MySQ相关的内容奠定一个坚实的基础。 唯一真正需要的是你能够理解使用HTM创建静态Web内容。如果你只是刚刚开始Web开发,还是应该能够使用本书,但是,你应该先考虑阅读一个HTM教程。如果你熟悉了创建基本的页面,那么你会学得更好。 本书的组织结构 本书分为六个部分,对应特定的主题。应该按部就班地学习每个部分,因为每个部分的内容都构建在前面部分的基础之上。 第一部分“基础知识”,提供一个安装的快速指导,并带领读者深入了解安装和配置MySQ、Apache和PHP的过程。在继续学习之前,你至少需要完成这些课程中的一种,要么快速安装,或者是更长的过程,除非你已经成功地安装了这些软件。即便你不需要在自己的环境中安装或配置MySQ、Apache和PHP,还是应该浏览一下这些课程,以便理解它们相互交互的基础。 第二部分“PHP语言结构”,教授PHP语言基础,包括数组和对象这样的结构化元素。那些示例将帮助你习惯于编写代码,将这些示例上传到你的服务器,并测试其结果。 第三部分“深入编程”,介绍了中级应用程序开发的主题,包括使用表单和文件、限制访问以及完成一些小项目,这些小项目是设计用来介绍一个专门概念的。 第四部分“PHP和MySQ整合”,介绍使用数据库的一般性方法,例如,数据库规范化,以及使用PHP来连接并操作MySQ。其中包含了SQ基础知识,还包括特定于MySQ的函数和其他信息。 第五部分“基本项目”,介绍如何整合前面已经学习到的所有知识,使用PHP和MySQ执行一个特定任务。这些项目包括地址簿、一个讨论论坛和一个基本的网上商店。这些例子都是在一个黑白环境下构建的,就是说在美观性上显得很简约。这使你可以把精力集中在程序设计和搭建结构所需的逻辑上,而不是在显示美观上。 第六部分“管理和优化”,介绍管理和优化Apache和MySQ。它还包含了有关虚拟主机以及建立一个安全Web服务器的信息。 如果你发现自己已经熟悉某个主题,可以跳过并继续向前学习。然而,某些地方会引用前面的章节中学习过的特定概念,因此,请注意必须浏览一下跳过的章节,以便保证你的开发环境和本书一致。 在每章的末尾,都有一些问答题来测试你对该章内容的掌握程度。附加的思考题则提供了应用该章知识的另外一种方式,并且引导你在下一章使用这些刚刚学习到的知识。 本书源代码 在各章中出现的程序清单中的所有代码,都可以在随书光盘中找到。也可以从作者的Web站点http://www.thickbook.com/下载打包的代码。 自己录入代码,在打字、产生错误以及执行叫人伤透脑筋的查找分号错误的任务等方面会提供有用的体验。然而,如果你想要略过这些课程并且只是把工作代码上传到你的站点,也没问题。 本书体例 本书使用不同的字体来表示代码和正文,也通过这种方法来帮你识别重要的概念。在本书中,代码、命令和你所输入的或者在计算机屏幕上看到的文本,都使用等宽字体。在正文中定义新术语的地方使用斜体。此外,特别的内容版块都带有图标: “提示”给出了和当前话题相关的一段有趣的信息。 “你知道吗”提出建议,或者教给你执行一项任务。 “注意”警告你潜在的缺陷并说明如何避免它们。