PHP头条
热点:

PHP和MySQL Web开发(原书第3版) 前言


前言:
欢迎来到PHP和MySQL Web开发的世界。本书介绍了我们使用PHP和MySQL的实战经验的精华。PHP和MySQL是当今最热门的两个Web开发工具。

为什么要学习本书
本书将介绍如何创建可交互的Web站点,包括从最简单的订单表单到复杂的安全电子商务站点。而且,读者还将了解如何使用开放源代码技术来实现它。
本书的目标读者群是已经了解了HTML的基础知识,并且以前曾经使用过一些现代编程语言进行过程序开发的读者,但是这并不要求读者从事过Internet编程或者使用过关系数据库。如果你是入门级程序员,你将发现本书还是非常有用的,但是你可能会需要更长的时间来吸收和消化它。我们尽量做到不遗漏任何基本概念,但是我们在介绍这些基本概念的时候都比较简略。本书的典型读者是希望掌握PHP和MySQL并致力于创建大型或电子商务类型Web站点的人。有些读者可能已经使用过另一种Web开发语言;如果是这样的话,就更容易掌握本书的内容。
我们编写本书第1版的原因在于,我们已经厌倦了寻找那些充其量只是基本的PHP函数参考的图书。那些图书是有用的,但是当你的老板或客户说“赶快给我编写一个购物车”时,那些图书无法帮助你。我们尽量使本书中的每一个例子都有实用价值。许多示例代码可以在Web站点上直接使用,而大多数代码只要稍微经过修改就可以直接使用。

使用本书将学习到哪些知识
学习了本书以后,读者将能够创建实用的动态Web站点。如果读者已经使用普通的HTML创建Web站点,将意识到这种方法的局限性。一个纯HTML网站的静态内容就只能是静态的。除非专门对其进行了更新,否则其内容将不会发生变化。用户也无法以任何形式与站点进行交互。
使用一种编程语言例如,PHP)和数据库例如,MySQL),可以创建动态的站点:你可以自定义站点并且在站点中包含实时信息。
在本书中,我们花费了大量的精力来介绍实用的应用程序。我们从一个简单的在线订购系统开始,然后介绍PHP和MySQL的不同部分。
我们将讨论与创建一个实用Web站点所相关的电子商务和安全性方面的问题,并且介绍如何使用PHP和MySQL来实现这些方面。
在本书的最后部分,我们将介绍如何实现实际项目,并且和读者一起设计、计划并且构建用户身份验证和个性化设置、购物车、内容管理系统、基于Web的电子邮件、邮件列表管理器、Web论坛、PDF文档的生成、使用XML和SOAP连接Web服务等项目。
这些项目都是可以直接使用的,或者可以经过一定的修改来满足读者的实际需要。我们选择这些项目是因为我们相信这8个项目是程序员创建基于Web应用程序时最常见的项目。如果读者的需要有所不同,本书也可以帮助读者实现目标。

什么是PHP
PHP是一种服务器端脚本语言,它是专门为Web而设计的。在一个HTML页面中,你可以嵌入PHP代码,这些代码在每次页面被访问时执行。PHP代码将在Web服务器中被解释并且生成HTML或访问者看到的其他输出。
PHP是1994年出现的,最初只是Rasmus Lerdorf一个人的工作。其他一些天才改进了这种语言,它经历了四次非常重要的重新编写,才变成了我们今天所看到的广为使用的、成熟的PHP。到2004年8月,PHP已经在全球的1700多万个网站域中安装,而且该数字还在不断地快速增长。访http://www.php.net/usage.php站点,你可以获得当前的确切数据。
PHP是一个开放源代码的产品,这就意味着,你可以访问其源代码,也可以免费使用、修改并且再次发布。
PHP最初只是Personal Home Page(个人主页)的缩写,但是后来经过修改,采用了GNU命名惯例GNU = Gnu誷 Not Unix),如今它是PHP超文本预处理程序的缩写。
目前,PHP的主要版本是5。该版本的Zend引擎经过了完全的重写,而且还实现了一些主要的语言改进。
PHP的主页是http://www.php.net。
ZendTechnologies的主页是http://www.zend.com。

MySQL是什么
MySQL发音为My-Ess-Que-Ell)是一个快速而又健壮的关系数据库管理系统RDBMS)。一个数据库将允许你高效地存储、搜索、排序和检索数据。MySQL服务器将控制对数据的访问,从而确保多个用户可以并发地使用它,同时提供了快速访问并且确保只有通过验证的用户才能获得数据访问。因此,MySQL是一个多用户、多线程的服务器。它使用了结构化查询语言SQL),这是全球通用的标准数据库查询语言。MySQL是在1996年公布的,但是其开发历史可以追溯到1979年。它是世界上最受欢迎的开放源代码数据库,已经多次获得《Linux Journal》杂志的读者选择奖。
MySQL可以通过一个双许可模式获得。我们可以在开放源代码许可GPL)下使用它,条件是你需要满足该协议的一些条款。如果希望发布一个包括MySQL的非GPL应用程序,可以购买一个商业许可。

为什么要使用PHP和MySQL
当我们准备创建一个电子商务站点时,可以选择使用许多不同的产品。如Web服务器所需的硬件、操作系统、Web服务器软件、数据库管理系统、编程语言或脚本语言。
这些产品的选择具有相互的依赖性。例如,并不是所有的操作系统都可以在所有的硬件上运行,并不是所有的脚本语言都可以连接所有的数据库,等等。
在本书中,我们将不会花精力来介绍硬件、操作系统或Web服务器软件。我们不需要这样做。PHP和MySQL的一个非常好的特性就是它们可以在任何主要的操作系统和许多其他操作系统中使用。
为了证明这一点,本书的所有例子都是在如下两种流行的组合下编写和测试的:
* 使用Apache Web服务器的Linux
* 使用Microsoft Internet信息服务器IIS)的Microsoft Windows XP
无论读者选择何种硬件、操作系统和Web服务器,我们相信读者都会考虑使用PHP和MySQL。

PHP的一些优点
PHP的主要竞争对手是Perl、Microsoft ASP.NET、JavaServer PageJSP)和ColdFusion。
与这些产品比较,PHP具有高性能、与许多不同数据库系统的接口、内置许多常见Web任务所需的函数库、低成本、容易学习和使用、对面向对象的高度支持、可移植性、源代码可供使用、技术支持可供使用等许多优点,接下来我们将详细介绍这些优点。
性能  PHP的效率非常高。使用一个单独的廉价的服务器,就可以满足每天几百万的点击。如果使用大量商业服务器,性能容量将非常大。Zend Technologieshttp://www.zend.com)公司发布的评测表明PHP的性能要优于其竞争产品。
数据库集成  对于许多数据库系统来说,PHP都具有针对它们的内置连接。除了MySQL之外,你可以直接连接到PostgreSQL、mSQL、Oracle、dbm、FilePro、Hyperwave、Informix、InterBase和Sybase数据库。PHP5还提供了针对普通文件平面文件)的内置SQL接口,名为SQLite。
使用开放式数据库连接标准ODBC),可以连接到任何提供了ODBC驱动程序的数据库。这包括Microsoft产品和许多其他产品。
内置的函数库  由于PHP是为Web开发而设计的,它提供了许多内置函数用来执行有用的Web任务。可以生成一个GIF图像、连接到Web服务和其他网络服务、解析XML、发送电子邮件、使用cookie以及生成PDF文档,所有这些任务只需要非常少的几行代码。
成本  PHP是免费的,可以在任何时候http://www.php.net站点免费下载最新版本。
容易学习PHP  PHP的语法是基于其他编程语言的,主要是C和Perl。如果读者已经了解了C或Perl,或者其他类似C的语言,例如C++或Java,那么几乎立即就可以高效地使用PHP。
对面向对象的支持  PHP版本5具有设计良好的面向对象特性。如果读者学习了使用Java或C++进行编程,将发现所期望的一些特性和常见语法),例如继承、私有和受保护的属性和方法、抽象类和方法、接口、构造函数和析构函数。读者还将发现一些不常见的特性,例如内置的迭代行为。该功能的一部分可以在PHP版本3和版本4中获得,但是版本5中具有更全面的面向对象支持。
可移植性  PHP在许多不同的操作系统中都可以使用。我们可以在类似于Unix的免费操作系统中例如FreeBSD和Linux)编写PHP代码,也可以在商业性的Unix版本例如Solaris和IRIX)或者在Microsoft Windows的不同版本中编写代码。
通常,代码不经过任何修改就可以在运行PHP的不同系统中运行。
源代码  我们可以访问PHP的所有源代码,与商业性的封闭式源代码产品不同,如果要在该语言中进行修改或者添加新特性,可以免费进行。
我们无须等待开发商来发布补丁。也不需要担心开发商倒闭或者决定停止对一个产品的支持。
可供使用的技术支持  Zend Technologieswww.zend.com)公司,实现PHP的后台引擎公司,通过提供商业性技术支持和相关的软件为PHP开发提供支持。
PHP 5.0的新特性  最近,读者可以从PHP 4.x版本转移到PHP 5.0版本。正如读者期望的那样,在一个新的主要版本中,它做出了一些重要变更。在这个版本中,PHP后台的Zend引擎经过了完全的重新编写。主要的新特性如下:
* 通过一个完整的新的对象模型提供了更好的面向对象支持请参阅第6章“面向对象的PHP”)。
* 可扩展和可维护的错误处理—异常请参阅第7章“异常处理”)。
* XML数据的简单处理—SimpleXML请参阅第33章“使用XML和SOAP来连接Web服务”)。
其他变化还包括在PHP的默认安装中去除了一些扩展,并且将这些扩展放入PECL库中,改进了对流的支持以及添加了SQLite。

MySQL的一些优点
MySQL的主要竞争产品包括PostgreSQL、Microsoft SQL Server和Oracle。MySQL具有许多优点,如高性能、低成本、易于配置和学习、可移植性、源代码可供使用、技术支持可供使用等,接下来,我们将详细介绍这些优点。
性能  不可否认,MySQL的速度是非常快的。http://web.mysql.com/benchmark.html站点,你可以找到许多开发人员的评测页面。这些评测结果表明MySQL的运行速度比其竞争产品要快很多。在2002年,《eWeek》杂志发布了一个关于实现Web应用程序的5个数据库的评测结果。最佳结果是MySQL和成本昂贵得多的Oracle。
低成本  在开放源代码许可下,MySQL是免费的,而在商业许可下,MySQL也只需要很少的费用。如果读者希望将MySQL作为应用程序的一部分重新发布,并且不希望在开放源代码许可下授权应用程序,那么必须获得一个商业许可。如果读者并不打算发布应用程序或者只开发免费软件,那么就不需要购买许可。
便于使用  大多数现代数据库都使用SQL。如果读者曾经使用过其他的RDBMS,就会很容易使用MySQL。MySQL的安装也比其他类似产品的安装要简单。
可移植性  MySQL可以在许多不同的UNIX系统中使用,同时也可以在Microsoft的Windows系统中使用。
源代码  和PHP一样,读者可以获得并修改MySQL的源代码。对大多数用户来说,在大多数情况下这一点并不重要,但是它消除了后顾之忧,可以确保未来的持续性,并且提供了紧急情况下的选择。
技术支持可供使用  并不是所有的开放源代码产品都有一家母公司,来提供技术支持、培训、顾问和认证,但是读者可以从MySQL AB获得所有这些服务www.mysql.com)。
MySQL 5.0的新特性  MySQL 5.0版本新引入的主要变化包括:
* 存储过程请参阅第13章“MySQL高级编程”)
* 对游标的支持
其他变化还包括多个ANSI标准的兼容以及速度的改进。如果读者还是使用MySQL服务器的早期4.x版本或3.x版本,应该知道如下特性已经陆续加入了4.0以后的版本:
* 对子查询的支持
* 用于存储地理数据的GIS类型
* 对国际化的改进支持
* 作为标准,引入了InnoDB这个事务安全的存储引擎
* MySQL查询缓存,极大提高了Web应用程序通常会执行的重复查询的速度

本书的组织结构
本书分为5个部分除此之外,还有“附录”篇):
第一篇“使用PHP”,通过一些示例概述了PHP语言的主要部分。每一个例子都是在构建实际电子商务站点时可能用到的例子。在第一篇中,第1章是“PHP快速入门教程”。如果读者已经使用过PHP,可以跳过这一章。如果读者是第一次使用PHP或者是入门程序员,那么可能需要花一些时间在这一章上。如果读者非常熟悉PHP,可能会希望阅读第6章“面向对象的PHP”,因为在PHP5中,面向对象功能有了非常明显的变化。
第二篇“使用MySQL”,将介绍一些概念和设计,包括使用关系型数据库系统例如MySQL)、使用SQL、使用PHP连接MySQL数据库以及MySQL的高级技术例如,安全性和优化)的使用。
第三篇“电子商务与安全性”,介绍了使用任何语言开发电子商务站点所涉及的一些常见问题。我们还将介绍如何使用PHP和MySQL来进行用户身份验证,以及安全地搜集、传输和保存数据。
第四篇“PHP的高级技术”,提供了PHP中一些主要内置函数的详细介绍。我们选择了一些在创建电子商务站点时可能用到的函数库进行介绍。读者将学会如何与服务器进行交互、如何与网络进行交互、图像的生成、时间和数据的操作以及会话变量。
第五篇“创建实用的PHP和MySQL项目”是我们最喜欢的一篇,主要介绍如何解决现实项目中可能遇到的实际问题,例如管理和调试大型项目,提供了一些能够说明PHP和MySQL强大功能的示例项目。

我们希望得到您的反馈
作为本书的读者,您是我们最重要的批评者和评价者。我们非常重视您的意见,并且希望知道我们的优点、哪些地方可以改进、您希望看到哪些领域的图书以及任何您愿意给我们的其他建议。
您可以通过电子邮件或直接给我写信与我联系,让我知道你对本书的评价—以及我们可以从哪些方面进行改善。
请注意,我无法为您解答与本书相关的技术问题,而且由于我收到的信件或电子邮件的数量太大,因此我可能无法一一回答。
当您给出意见时,请确认给出了本书的标题和作者,以及您的姓名和电话或电子邮件地址。我们将谨慎地考虑您的建议并与编写本书的作者和编辑们进行沟通。
电子邮件:opensource@samspublishing.com
邮寄地址:Mark Taber
Associate Publisher
Sams Publishing
800 East 96th Street
Indianapolis, IN 46240 USA

读者服务
关于本书或Sams出版的其他图书的更多信息,请访问我们的Web站点:www.samspub-lishing.com。在搜索框中输入ISBN0-672-32672-8)或者图书的标题,就可以找到本书的消息。
我们希望读者能喜欢本书,并且像我们开始使用这些产品时一样,尽量多地了解PHP和MySQL。使用它们真的是一种快乐。不久,读者就可以加入成百上千的Web开发人员队伍,和他们一样,使用这些健壮的、功能强大的工具来创建动态、实时的Web站点。

致谢
我们感谢Sams公司本书的编辑组,感谢他们的努力工作。我们要特别感谢Shelley Johnston,没有她的投入和耐心,就不可能有本书的面世。我们还要感谢Israel Denis Jr.和Chris Newman为本书所做的贡献。
我们非常感谢PHP和MySQL开发小组所做的工作。他们的工作使我们的编写变得更加简单。
我们要感谢Adrian Close在1998年的eSec上所说的“你可以用PHP来实现它们”。他说我们会喜欢PHP的,现在看来他是对的。
最后,我们还要感谢我们的家庭和朋友,感谢他们能够容忍我们为编写本书而“与世隔绝”。特别要感谢来自我们家庭成员的支持:Julie、Robert、Martin、Lesley、Adam、Paul、Archer和Barton。

www.phpzy.comtrue/php/19447.htmlTechArticlePHP和MySQL Web开发(原书第3版) 前言 前言: 欢迎来到PHP和MySQL Web开发的世界。本书介绍了我们使用PHP和MySQL的实战经验的精华。PHP和MySQL是当今最热门的两个Web开发工具。 为什么要学习本...

相关文章

PHP之友评论

今天推荐