作者:empty 页数:691 出版社:empty |
本书将PHP开发与MySQL应用相结合, 分别对PHP和MySQL做了深人浅出的分析, 不仅介绍PHP和MySQL的一般概念, 面且对PHP和MySQL的Web应用做了较全面的阐述, 并包括几个经典且实用的例子。模型、更好的异常处理和SimpleXML; 以及MySQL 5的新特性, 例如存储过程和存储引擎。
“我们从来没有购买过如此棒的编程书籍……本书信息量大、容易掌握,而且与我曾经购买过的其他计算机图书相比,它给出了最佳的示例。本书文字浅显易懂。”“Sams公司出版的Welling和Thomson编写的图书是我发现的惟一不可或缺的图书。文字清晰直观,而且从来不会浪费我的时间。本书结构合理。章节篇幅适当而且标题清晰,”望创建复杂而又可靠系统的人来说,是非常优秀的手册。很明显,作者在开发专业应用程序方面经验丰富,他们不仅教授了语言本身,还介绍了如何通过良好的软件工程实践来使用它。”“本书内容是值得信赖的, 它给出了PHP的快速人门教程, 并且全面地介绍了使用MySQL来开发Web应用程序。它还给出了一些完整的示例程序, 这些示例对于使用PHP创建模块化、可伸缩的应用程序来说, 是非常不错的选择。无论你是PHP新手, 还是正在寻找参考书的经验丰富的开发人员,这本书都是你的明智选择。““Luke Well ng和Laura Thomson编写的这本书的确是PHP和MySQL开发的‘圣经'。它使我意识到编程和数据库对任何人来说都是可能掌握的;而我只了解本书所介绍内容的极少部分,我完全被它迷住了.”不错的参考用书。它包括了WebMail、购物车、会话控制和Web论坛/Weblog应用程序, 从PHP的入门介绍开始, 然后在介绍了基础知识后进入到对MySQL的介绍。”达式、类和对象以及会话等最好的介绍。我感觉本书让我理解了一些我原来不太理解的内容……本书深入地介绍了PHP函数和特性, 此外还从项目经理的角度介绍了现实项目、MySQL成以及(开发人员专业技术丛书)
“本书太精彩了!我是一个经验丰富的编程人员, 因此我并不需要太多的PHP语法介绍; 毕竞它非常类似于C/C++。我不了解关于数据库的内容,但是当我准备开发一个图书评论引擎(在其他项目中) 时, 我希望找到一本关于使用PHP和MySQL的参考书。我有O'Reilly出版的《mSQL和MySQL》一书, 该书可能是关于纯SQL的不错参考, 但是本书在我的参考书中绝对占有一席之地……高度推荐。“这是一本非常不错的书, 对于学习如何使用这两个最流行的开放源代码Web开发技术创建Internet应用程序来说是非常优秀的……本书介绍的项目是本书的闪光点。不仅是因为项目介绍和组织的逻辑结构合理, 而且项目的选择也代表了许多Web站点使用的常见组件。“
“本书采用了一种简单的、按部就班的方式向编程人员介绍PHP语言。因此, 我经常发现自己在Web设计时需要参考本书。我还在学习关于PHP的新知识, 但是这本书给我提供了一个学习的基础,一直以来给了我很多帮助。”“本书是少数使我感动并“爱”上它的图书之一,我不能将其放到我的书架中:我必须将它放在一个我伸手可及的地方,这样我就可以经常翻翻它。本书的结构合理,措辞简单而且直观,在我阅读本书以前, 我对PHP和MySQL一无所知。但是在阅读本书后, 我就对开发复杂的Web应用程序充满了信心,而且掌握了足够的技术。 “这本书太棒了…我向任何希望从事数据库驱动的Web应用程序编程的人强烈推荐此书。我希望更多的计算机图书能够按这样的方式进行编写。”PHP和MySQL都是如今比较流行的开放源代码技术, 而且它们都是便于使用、运行速度快且功能十分强大的免费软件包, 非常适用于开发面向数据库的Web应用程序。PHP是一种服务器端解释的脚本语言, 它是目前最流行的Web编程脚本语言之一。PHP可以产生动态网页。它功能强大, 和HTML脚本融合在一起, 并内置有访问数据库的功能。从版本5开始, PHP提供了全面的面向对象支持, 可以说是继C++和Java以后又一个全面实现了面向对象概念的编程语言。MySQL是基于SQL的、完全网络化的跨平台关系型数据库系统, 同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点, 用户可利用许多语言编写访问MySQL数据库的程序。本书将PHP开发与MySQL应用相结合, 分别对PHP和MySQL做了深入浅出的分析。在介绍了PHP和MySQL的一般概念后, 本书还对PHP和MySQL的Web应用做了较全面的阐述, 最后是几个经典且实用的例子。
还列举了一些读者可能感兴趣的Web资源。综观本书全篇,内容广泛,风格严谨,理论和实践紧密结合。既有详细的概念说明,又有复杂而完整的实例代码,读者能够轻松地将自己所学的理论知识付诸实践。正是由于这个原因,本书适用的对象非常广泛。对于初学者来说,本书可以作为教材和参考书,对于有丰富经验的PHP和MySQL高手, 本书也是一本很好的参考手册, 因此本书适用于各个层次的PHP程序员。使用一种编程语言(例如, PHP) 和数据库(例如, MySQL) , 可以创建动态的站点:你可在本书中,我们花费了大量的精力来介绍实用的应用程序。我们从一个简单的在线订购系我们将讨论与创建一个实用Web站点所相关的电子商务和安全性方面的问题, 并且介绍如何在本书的最后部分,我们将介绍如何实现实际项目,并且和读者一起设计、计划并且构建这些项目都是可以直接使用的,或者可以经过一定的修改来满足读者的实际需要。我们选在本书出版过程中,参加翻译工作的有:武欣、邵煜、董怡然、于苗苗、邓一凡、宁靖、罗云峰、余勇、刘姗、吴小华、张春梅、管丁、周丹惠、王萃、李国梁、武斌、熊慧珍、段飞舟、贾顺林、宁严、朱荣轩、李颖等。在此,对以上同志一并表示感谢。本书由武欣同志统一审校。
欢迎来到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的电子邮件、邮件列表管理器、Web论坛、PDF文档的生成、使用XML和SOAP连接Web服务等项目。择这些项目是因为我们相信这8个项目是程序员创建基于Web应用程序时最常见的项目。如果读由于水平所限,不当之处和错误在所难免,敬请各位专家和读者批评指正。
什么是PHPPHP是一种服务器端脚本语言, 它是专门为Web而设计的。在一个HTML页面中, 你可以嵌人PHP代码, 这些代码在每次页面被访问时执行。PHP代码将在Web服务器中被解释并且生成HTML或访问者看到的其他输出。PHP是1994年出现的, 最初只是Rasmus Lerdorf一个人的工作。其他一些天才改进了这种语言, 它经历了四次非常重要的重新编写, 才变成了我们今天所看到的广为使用的、成熟的PHP,到2004年8月, PHP已经在全球的1700多万个网站域中安装, 而且该数字还在不断地快速增长。访问http://www.php.net/usage.php站点,你可以获得当前的确切数据。PHP是一个开放源代码的产品, 这就意味着, 你可以访问共源代码, 也可以免费使用、修改并且再次发布,PHP最初只是Personal HomePage(个人主页) 的缩写, 但是后来经过修改, 采用了GNU命名惯例(GNU=Gnu's Not UNIX) , 如今它是PHP超文本预处理程序的缩写目前, PHP的主要版本是5.该版本的Zend引擎经过了完全的重写, 而且还实现了一些主要的语言改进。MySQL(发音为My-Ess-Que-EII) 是一个快速而又健壮的关系数据库管理系统(RDBMS) 。一个数据库将允许你高效地存储、搜索、排序和检索数据。MySQL服务器将控制对数据的访问,从而确保多个用户可以并发地使用它,同时提供了快速访问并且确保只有通过验证的用户才能获得数据访问。因此, MySQL是一个多用户、多线程的服务器。它使用了结构化查询语言(SQL) , 这是全球通用的标准数据库查询语言。MySQL是在1996年公布的, 但是其开发历史可以追溯到1979年。它是世界上最受欢迎的开放源代码数据库, 已经多次获得《Linux Journal》杂MySQL可以通过一个双许可模式获得。我们可以在开放源代码许可(GPL) 下使用它, 条件是你需要满足该协议的一些条款。如果希望发布一个包括MySQL的非GPL应用程序, 可以购硬件、操作系统、Web服务器软件、数据库管理系统、编程语言或脚本语言。为了证明这一点,本书的所有例子都是在如下两种流行的组合下编写和测试的:·使用Microsoft Internet信息服务器(I IS) 的Microsoft WindowsXP与这些产品比较, PHP具有高性能、与许多不同数据库系统的接、内置许多常见Web任务
译者序
前言
作者简介
1.10声明和使用常量.
1.11理解变量的作用域.
1.12使用操作符.
1.12.1算术操作符.
1.12.2字符串操作符.
1.12.3赋值操作符.
1.12.4比较操作符.
1.12.5逻辑操作符.
1.12.6位操作符
1.12.7其他操作符.
1.15.1测试和设置变量类型.
1.15.2测试变量状态.
3.6数组排序.
3.8对数组进行重新排序.
3.8.2使用array-reverse O函数.
3.10.3统计数组元素个数:coun tO、
第一篇使用PHP
第1章PHP快速入门教程.
1.1使用PHP.
第2章数据的存储与检索
1.2创建一个示例应用:Bob's AutoParts
(Bob汽车零部件商店) .
1.2.1创建订单表单.
1.2.2表单处理.
1.3在HTML中嵌人PHP.
1.3.1使用PHP标记.
1.3.2PHP标记风格.
1.3.3PHP语句
1.3.4空格.
1.3.5注释.
1.4添加动态内容.
1.4.1调用函数.
1.4.2使用date O函数.
1.5访问表单变量.
1.5.1表单变量
1.5.2字符串的连接.
1.5.3变量和文本.
1.6理解标识符.
1.7创建用户声明的变量.
1.8给变量赋值.
1.9检查变量的类型.
1.9.1PHP的数据类型.
1.9.2类型强度.
1.9.3类型转换.
1.9.4可变变量.
2.1保存数据以便后期使用.
2.2存储和检索Bob的订单
2.3文件处理
2.4打开文件
2.4.1选择文件模式.
2.4.2使用fopen(打开文件.
2.4.3通过FTP或HTTP打开文件.
2.4.4解决打开文件时可能遇到的问题.42
2.5写文件.
2.5.1f write() 的参数.
2.5.2文件格式.
2.6关闭文件.
2.7读文件.
2.7.1以只读模式打开文件:fopen() .
2.7.2知道何时读完文件:feof 0
2.7.3每次读取一行数据:fgets 0、
2.7.4读取整个文件:readfile 0、
2.7.5读取一个字符:fgetc() .
2.7.6读取任意长度:fread O.
2.8使用其他有用的文件函数.
2.8.1查看文件是否存在:file_exists 0) .5l
2.8.2确定文件大小:filesize 0.
2.8.3除一个文件:unlink() .
2.8.4在文件中定位:rewind O, fseek()
2.9文件锁定.
2.10更好的方式:数据库管理系统.
2.10.1使用普通文件的几个问题.
2.10.2RDBMS是如何解决这些问题的.54
2.11进一步学习.
2.12下一章.
第3章使用数组
3.1什么是数组.
3.2数字索引数组
3.2.1数字索引数组的初始化.
1.13使用操作符:计算表单总金额.
1.14理解操作符的优先级和结合性:
51.15使用可变函数.
第4章字符串操作与正則表达式
表达式求值.
61.15.3变量的重解释.
71.16实现控制结构.
,.81.17根据条件进行判断
81.17.1if语句.
.91.17.2代码块
91.17.3else语句.
.91.17.4elseif语句.
111.17.5 switch语句.
-121.17.6比较不同的条件.
.131.18通过迭代实现重复动作
131.18.1 while循环.
.131.18.2 for和for each循环.
*131.18.3do.while循环.
.131.19从控制结构或脚本中跳出.
141.20使用可替换的控制结构语法.
141.21使用declare.
141.22下一章:保存客户的订单.
-383.2.2访问数组的内容.
383.2.3使用循环访问数组
.383.3使用不同索引的数组.
-393.3.1初始化相关数组·59
403.3.2访问数组元素.59
.403.3.3使用循环语句.59
.403.4数组操作符.60
.423.5多维数组.61
.443.6.1使用sort 0函数.64
.443.6.2使用a sort(函数和ks or tO函数对
45相关数组排序.64
.453.6.3反向排序.65
.473.7多维数组的排序.65
483.7.1用户定义排序.65
483.7.2反向用户排序.66
.-493.8.1使用shuffle 0函数.67
493.9从文件载人数组.69
.503.10执行其他的数组操作.71
.513.10.1在数组中浏览:each O、current 0、
.-51reset O、endO、next O、pos 0
.513.10.2对数组的每一个元素应用任何
.-52sizeof O和array_count_values 0) .73
.523.10.4将数组转换成标量变量:extract 0) .73
533.11进一步学习.75
.543.12下一章.75
544.1创建一个示例应用程序:智能
55.76
564.2字符串的格式化.-78
.56
.57和trim().78
.-57.
fgetss 0和fgetcsv 0.
fpassthru 0和file() .
和f tellO.
和prev) .
函数:array_walk() .
表单邮件.
4.2.1字符串的整理:chop 0、ltrim 0
4.2.2格式化字符申以便显示
4.2.3格式化字符串以便存储:
5.1.1成本.
5.1.2可靠性.
5.1.3一致性.
数据库.
addslashes() 和I stripslashes()
和join 0.
strc as ccmp 0和stm at cmp 0.
长度.
strchr() 、strrchr 0) 和stristr() .
strrpos 0.
substr_replace 0) .
访问修饰符控制可见性.
第二篇使用MySQL
4.3用字符串函数连接和分割字符串.-82
4.3.1使用函数explode O、implode 0
4.3.2使用strtok 0函数.83
4.3.3使用substr 0) 函数.83
4.4宇符串的比较-84
4.4.1字符串的排序:str emp 0、
4.4.2使用strlen O函数测试字符串的
4.5使用字符串函数匹配和替换子字符串.85
4.5.1在字符串中查找字符串:strstr 0、
4.5.2查找子字符串的位置:strpos() .
4.5.3替换子字符串:str_replace() 、
4.6正则表达式的介绍.88
4.6.1基础知识.88
4.6.2字符集和类.88
4.6.3重复.89
4.6.4子表达式.89
4.6.5子表达式计数.-90
4.6.6定位到字符串的开始或末尾.-90
4.6.7分支.90
4.6.8匹配特殊字符.-90
4.6.9特殊字符一览.
4.6.10在智能表单中应用.
4.7用正则表达式查找子字符串.
4.8用正则表达式替换子字符串.
4.9使用正则表达式分割字符串.
4.10比较字符串函数和正则表达式函数.·93
4.11进一步学习.
4.12下一章.
第5章代码重用与函数编写
5.1代码重用
6.5使用private和public关键字控制访问.121
6.6类操作的调用.
6.7在PHP中实现继承.
6.7.1通过继承使用private和protected
6.7.2重载.
6.7.3使用final关键字禁止继承和重载.125
6.7.4理解多重继承.
6.7.5实现接
6.8类的设计.
6.9编写类代码.
6.10理解PHP面向对象新的高级功能.135
6.10.1提示:PHP 4和PHP 5的比较.135
6.10.2使用Per-Class常量.
6.10.3实现静态方法.
6.10.4检查类的类型和类型提示.
6.10.5克隆对象.
6.10.6使用抽象类.
6.10.7使用__call 0重载方法.
6.10.8使用_autoload O方法.138
6.10.9实现迭代器和迭代
6.10.10将类转换成字符串.
6.10.11使用Reflection(反射) API. 140
6.11下一章.
第7章异常处理.
7.1异常处理的概念.
7.2 Exception类.
7.3用户自定义异常.
7.4Bob的汽车零部件商店应用程序的异常.146
7.5异常和PHP的其他错误处理机制.-150
7.6进一步学习.
7.7下一章.
第8章设计Web数据库
8.1关系数据库的概念
8.1.1表格.
8.1.2列.
5.2使用require 0) 和include O函数.
5.2.1 require() 函数
5.2.2文件扩展名和require 0语句.
5.2.3PHP标记和require O语句.
5.3使用require O制作Web站点的模版.96
5.3.1使用include() .100
5.3.2使用require_once 0和
5.3.3使用auto_prepend_file和
5.4在PHP中使用函数.101
5.4.1调用函数.-.101
5.4.2调用未定义的函数.103
5.4.3理解字母大小写和函数名称.103
5.5理解为什么