PHP程序设计(第2版)
PHP程序设计(第2版)
Rasmus Lerdorf, Kevin Tatroe, Peter MacIntyre
陈浩, 胡丹, 徐景 译
出版时间:2007年03月
页数:540
本书是关于PHP5的权威指南书籍,书中包含了PHP创始人 (Rasmus Lerdorf)和其他PHP专家的独特见解。
PHP是一种简单而强大的开源脚本语言,用于创建动态 Web内容。全球数百万运行着PHP程序的站点证明了它的流行程度和易用性。程序员和Web设计师都喜欢PHP,前者喜欢PHP的灵活性和速度,后者则喜欢它的易用和方便。
作为PHP的行业标准书籍,本书中所有的技术要点(如语法和编程技巧)都用简洁的文字和表达方式来阐述,并附带有正确用法及习惯用法的代码示例。本书还包含了代码风格技巧和实际开发方面的建议。这些不仅会帮助你成为一名PHP程序员,而且会帮助你成为一名优秀的PHP程序员。《PHP程序设计(第2版)》涵盖了使用PHP创建高效Web站点你所需要知道的一切,其内容包括:
● PHP语言基础,包括数据类型、变量、操作符和流程控制语句
● 函数、字符串处理、数组和对象
● 基本的PHP Web开发技术,如表单处理和验证,session跟踪和cookie
● 与关系型数据库如MySQL和Oracle的结合应用,使用独立的数据库抽象层 PEAR::DB库和PHP5中新的PDO扩展库
● 生成动态的图像文件,创建PDF文件,使用PHP解析XML文件
● 高级主题,例如创建安全的脚本、错误处理、性能调节和开发你自己的C语言扩展
● PHP中所有核心函数和标准扩展的快速参考
本书第1版所获得的赞誉:
“如果你刚刚进入动态网站开发的广阔天地,或者你考虑将你的一个动态网站移植到PHP上来,本书就是你的最佳选择,它可以让你快速上手并很快见到成效。”
——Peter MacIntrye, eWeek
“对于那些打算开始用PHP来开发动态网站的程序员来说,这是一本非常优秀的书。它对PHP的详细介绍和大量有用的技巧也让人感觉到了PHP的强大力量。”
——David Dooling, Slashdot.org
  1. 序言 I
  2. 前言 III
  3. 第1章 PHP简介 1
  4. PHP能做什么 1
  5. PHP发展简史 2
  6. 安装PHP 7
  7. PHP纵览 9
  8. 第2章 语言基础 18
  9. 词法结构 18
  10. 数据类型 25
  11. 变量 32
  12. 表达式和操作符 36
  13. 流控制语句 49
  14. 包含代码 57
  15. 在Web页面中嵌入PHP 59
  16. 第3章 函数 63
  17. 函数调用 63
  18. 定义函数 64
  19. 变量作用域 66
  20. 函数参数 68
  21. 返回值 71
  22. 可变函数 72
  23. 匿名函数 73
  24. 第4章 字符串 74
  25. 引用字符串常量 74
  26. 输出字符串 78
  27. 访问单个字符 82
  28. 整理字符串 82
  29. 编码和转义 83
  30. 比较字符串 89
  31. 处理和查找字符串 91
  32. 正则表达式 97
  33. 风格正则表达式 101
  34. Perl兼容正则表达式 106
  35. 第5章 数组 119
  36. 索引数组和关联数组 119
  37. 识别数组元素 120
  38. 在数组中存储数据 120
  39. 多维数组 123
  40. 析取多个值 123
  41. 在数组和变量间转换 127
  42. 遍历数组 128
  43. 排序 133
  44. 作用于整个数组 138
  45. 使用数组 140
  46. 第6章 对象 143
  47. 术语 144
  48. 创建一个对象 144
  49. 访问对象属性和方法 145
  50. 声明一个类 146
  51. 自省 153
  52. 串行化 159
  53. 第7章 Web技术 164
  54. HTTP基础 164
  55. 变量 165
  56. 服务器信息 166
  57. 表单处理 168
  58. 设置响应头 182
  59. 维持状态 185
  60. SSL 195
  61. 第8章 数据库 196
  62. 使用PHP访问数据库 196
  63. 关系型数据库和SQL 198
  64. PEAR DB基础 199
  65. 高级数据库技术 205
  66. 示例程序 211
  67. 第9章 图形 225
  68. 在页面中嵌入图像 225
  69. GD扩展 226
  70. 图像基本概念 227
  71. 创建和绘制图像 228
  72. 带文字的图像 232
  73. 动态创建按钮 236
  74. 缩放图像 239
  75. 颜色处理 240
  76. 第10章 PDF 246
  77. PDF扩展 246
  78. 文档和页面 246
  79. 文字 248
  80. 第11章 XML 261
  81. 入门指南 261
  82. 生成XML 263
  83. 解析XML 264
  84. 用DOM解析XML 277
  85. 使用SimpleXML解析XML 277
  86. 使用XSLT转换XML 278
  87. Web Services 280
  88. 第12章 安全 285
  89. 输入过滤 285
  90. 转义输出 290
  91. 跨站脚本攻击 293
  92. Session仿造 294
  93. 文件上传 295
  94. 文件访问权限 296
  95. PHP代码 299
  96. Shell命令 300
  97. 更多信息 301
  98. 安全要点总结 301
  99. 第13章 应用技术 302
  100. 代码库 302
  101. 模板系统 303
  102. 输出处理 306
  103. 错误处理 308
  104. 性能调节 313
  105. 第14章 扩展PHP 321
  106. 架构概览 321
  107. 编写扩展需要些什么 322
  108. 创建你的第一个扩展 323
  109. config.m4文件 333
  110. 内存管理 336
  111. pval/zval数据类型 338
  112. 参数处理 342
  113. 返回值 345
  114. 引用 349
  115. 全局变量 350
  116. 创建变量 353
  117. 扩展的INI项 354
  118. 资源 356
  119. 下一步/后述 358
  120. 第15章 Windows上的PHP 359
  121. 在Windows下安装和配置PHP 359
  122. 编写Windows和UNIX平台上可移植代码 363
  123. 与COM交互 366
  124. 数据源交互 372
  125. 附录A 函数参考 377
  126. 附录B PHP扩展概览 491
  127. 索引 503
书名:PHP程序设计(第2版)
译者:陈浩, 胡丹, 徐景 译
国内出版社:中国电力出版社
出版时间:2007年03月
页数:540
书号:978-7-121-03870-9
原版书出版商:O'Reilly Media
Rasmus Lerdorf
 
Rasmus Lerdorf于1995年启动了PHP项目,并从那以后一直为PHP的发展而努力。Rasmus是Apache的长期贡献者,也是Apache基金会的成员,他曾参与了PHP之外的很多其他的开源项目。Rasmus是PHP Pocket Reference第一版的作者和Programming PHP第一版的作者之一,这两本书都由O'Reilly公司出版。

Rasmus Lerdorf于1968年生于格陵兰岛西部迪科斯岛上的Godhavn/Qeqertarsuaq。他从1985年开始涉足Unix解决方案。Rasmus主要以其1995年开始负责的PHP项目而闻名,另外他还由于在mSQL 1.x中使用ANSI-92 SQL不接受的LIMIT子句而备受指责,而现在该子句至少在概念上已经被MySQL和PostgreSQL所接受。
Rasmus试图拒绝程序员的称呼,而宁愿被视为一位擅长解决问题的技术专家。如果解决问题需要一点编码,他绝不会让其他人代劳,而喜欢自行解决。Rasmus目前和他的妻子Christine居住在旧金山附近。
 
 
Kevin Tatroe
 
Kevin Tatroe已经做了十年Macintosh和Unix程序员,他也是一个经验丰富的PHP程序员,对于PHP5中的新变化非常熟悉。他也是Programming PHP第一版的作者之一。

Kevin Tatroe曾经做了十年的Macintosh和Unix程序员。也许是由于懒散的缘故吧,他被可自动完成很多工作的语言和框架吸引了,如AppleScript、Perl和PHP语言,还有WebObjects和Cocoa编程环境。
目前,Kevin和他的妻子Jenn、儿子Hadden,还有他们的两只猫住在科罗拉多州的乡村大平原边缘,那里离大山很远,不必担心糟糕的降雪,也不用担心龙卷风。他们的房子里到处都是LEGO拼装玩具、运动图片和众多其他玩具。
 
 
Peter MacIntyre
 
Peter MacIntyre生活和工作在夏洛特顿(加拿大爱德华王子岛的首府),他有十六年的IT业工作经验,主要领域为软件开发。Peter拥有的技术技能包括多种客户端/服务端工具和关系型数据库,如PHP、PowerBuilder、Visual Basic、Active Server Pages和CA-Visual Objects。他获得了Zend公司的PHP4认证,并参与了多本书籍的写作:Using Visual Objects(Que公司出版)、Using PowerBuilder 5(Que公司出版)、ASP.NET Bible(Wiley出版)和Web Warrior Survey on Web Development Languages(Course Technology公司出版)。Peter同时也是PHP杂志php|architect (http://www.phparch.com)的编辑和作者(包括在线版和纸版杂志)。他也常在各种计算机会议上作报告,包括在新奥尔良召开的CA-World、德国科隆召开的CA-TechniCon和澳大利亚墨尔本召开的CA-Expo。
 
 
本书封面的动物是杜鹃鸟(Cuculus canorus,也称cuckoo)。杜鹃鸟是偷懒的模范——通常它不自己筑巢,而是由母杜鹃鸟找到已经有鸟蛋的另一种鸟的巢,然后在其中下一个蛋(这个过程最多可能重复25次,每个巢只下一个蛋)。这个鸟巢的母鸟很难注意到新增的蛋和原来的蛋有什么区别,仍将它作为自己的蛋来孵化并喂养雏鸟。为什么母鸟不会发现新增的蛋和自己的蛋的区别呢?最新的研究表明这是由于在紫外线下这些鸟蛋看起来是一样的,而鸟只能看到这一点。
当小杜鹃孵化出来后,它们就会将其他鸟蛋推出巢外;如果别的鸟蛋先孵化,则这些先孵化的雏鸟仍会被杜鹃鸟推出巢外。鸟巢的母鸟通常会继续喂养小杜鹃鸟,甚至直到它长得比母鸟还大,并且小杜鹃也会利用它们的叫声来引诱其他鸟来喂养它们。有趣的是,在旧大陆(欧洲)的杜鹃侵占其他鸟的鸟巢,而新大陆(美国)的杜鹃鸟则会建造自己的巢(虽然不怎么整洁),就像很多美国人一样。冬天时杜鹃鸟会迁徙到热带。
在文化和艺术的历史上,杜鹃鸟久负盛名。《圣经》中提到过它们,普利尼和亚里士多德也提到过它们,贝多芬还在《田园交响曲》中使用了它独特的叫声。单词cuckold(戴绿帽子的丈夫)也是来源于cuckoo,也许这是因为杜鹃鸟把自己的蛋下到其他鸟的巢里,这暗合某些特别的意思吧。