PHP编程(第4版)
  • 推荐0
  • 收藏1
  • 浏览580

PHP编程(第4版)

Rasmus Lerdorf(拉斯马斯·勒多夫), Kevin Tatroe(凯文·塔特罗), Peter MacIntyre(彼得·麦金太尔) (作者)  卢涛 (译者)

  • 书  号:978-7-121-40463-4
  • 出版日期:2021-02-09
  • 页  数:504
  • 开  本:16(178*233)
  • 出版状态:上市销售
  • 原书名: Programming PHP, 4th Edition
  • 原书号:9781492054139
  • 维护人:许艳
纸质版 ¥109.00
PHP是一种被广泛使用的Web编程语言,它简单易用,而且与时俱进,不断进化,提升性能。本书基于PHP 7.4,深入介绍 PHP编程技术,涵盖了 PHP 所有基本的要点,包括语言基础、 常见的Web应用程序技术、数据库交互技术,以及安全脚本、错误处理、性能调优和跨平台开发等高级主题。作者言简意赅,用大量实例解释PHP语言的要素和运行机制,教授如何使用PHP 7.4的最新特性创建高效的Web应用。无论你是初学 PHP,还是已经具备一定PHP基础知识想继续深入,这本书都很适用。
涵盖PHP所有的基本要点,包括语言基础、 常见的Web应用程序技术、数据库交互技术
提供大量实例,解释PHP语言的要素和运行机制
讨论了安全脚本、错误处理、性能调优和跨平台开发等高级主题
可快速查询PHP核心函数和标准扩展
译者序
PHP 即超文本预处理器,是一种通用的开源脚本语言。PHP 是在服务器端执行的脚本语
言,与 C 语言类似,是常用的网站编程语言。PHP 吸收了 C、Java、Perl 的部分语法特点,
并结合自创的语法形成了其独特的语法。PHP 易于学习,使用广泛,主要用于 Web 开发
领域。在 LAMP(Linux 操作系统 +Apache 网络服务器 +MySQL 关系数据库 +PHP 脚本
语言)应用框架被提出之后,PHP 迅速得到人们的认可并流行起来。这个强大的组合使
得 Web 开发人员基本上不需要什么成本负担,就能开发出功能强大的 Web 应用程序。
我首次接触 PHP 可以追溯到 2000 年左右,那时 PHP 4.0 刚发布不久,我使用在它上面
运行的 phpMyAdmin 工具来管理 MySQL 数据库,还用它编写过一个小型问卷系统。经
过与 JSP、.NET 等语言进行比较,我觉得 PHP 是最容易入门的,写法也十分自由,开
发效率很高。PHP 虽然开源,但功能和性能丝毫不弱于收费的竞品。
时至今日,还有许多网站,包括我经常访问并担任版主的 ITPUB 论坛,仍然运行在
PHP 之上。不久前,单位的电子邮件系统也从微软 Exchange 系统迁移到了 PHP 生态之上。
2020 年 10 月,在 TIOBE 排行榜上,PHP 排名第 8,比 2019 年 10 月又上升了一位。这
一切都说明,PHP 仍然有强大的生命力和广泛的用途,今天学习 PHP 仍然能够大有作为。
本书的上一版出版于 2013 年,两位作者梳理和总结了 PHP 语言第 7 版的新特性,将其
更新到这一版中,在保持本书实用性的同时,又反映了软件的最新发展方向,便于读者
用新的方法更高效地编写风格更现代的应用程序。
通过学习本书,读者将学会如何使用 PHP 和关系数据库或 NoSQL 数据库来建立更具可
扩展性的高性能网站,如何利用 PHP 提供的各种 Web 应用程序技术构建更有效的网页
和应用程序,以及如何把这二者与安全技术结合在一起提供卓越的下一代 Web 解决方案。
我们的儿子卢令一,目前是一名小学六年级的学生,他努力好学,对计算机编程很感兴趣,
viii | 译者序
希望本书出版后他也能从中学到有用的知识。
感谢电子工业出版社张春雨、许艳编辑对我们的信任,让我们承担本书的翻译工作。感
谢刘舫编辑,对译文做了大量审核和润色工作,使本书文字更加准确、流畅。
最后,希望这本书能对读者有所助益。但由于我们经验和水平有限,译文中难免有不妥
之处,恳请读者批评指正!
卢涛 李颖
2020 年 11 月 2 日

很难相信,距我阅读第一本 PHP 图书已经将近 20 年了。我对编程很感兴趣,而且不限
于 Netscape Composer 和静态 HTML。我知道 PHP 能使我创建更智能的动态网站,以及
存储和获取数据以创建交互式 Web 应用程序。
那时我不知道用 PHP 解锁这些新功能的旅程会把我带向何方,也没料到 20 年后 PHP 能
发展成为 80% 的网站提供支持的编程语言,并得到世界上最友善、最友好、最吸引人的
社区之一的支持。
千里之行,始于足下。通过选择 Kevin Tatroe 和 Peter MacIntyre 编写的《PHP 编程》这
本书,你不仅迈出了学习 PHP 及其基础知识的第一步,而且还迈入了网站和 Web 应用
程序开发的未来。因为对 PHP 编程语言以及你可以使用的工具有了坚实了解,现在对你
的前途的唯一限制,只剩你的想象力和你对继续成长并融入社区的意愿。这是你的旅程,
它拥有无限的可能性,由你来定义未来。
当你准备开始这一段旅程时,我想分享一些建议。
首先,请将每一章都付诸实践,并尝试采用不同的方法,不要害怕破坏某些东西或遭受
失败。虽然本书将为你奠定坚实的理论基础,但仍需你亲自探索这门语言,并找到新的
创造性方法将它所有的组件组合在一起。
我的第二条建议是,请积极投身于 PHP 社区的活动。尽可能地利用在线社区、用户组和
PHP 会议。当你尝试新事物时,请与社区分享,以获取他们的反馈和建议。
你肯定会找到一个支持你的社区,因为他们是一群最优秀的人,希望你成功并且非常乐
意花时间帮助你走过整个旅程,而且你还将建立持续学习的基线,这可以帮助你更快地
掌握 PHP 的核心技能,并使你掌握最新的编程理论、技术、工具和变化。
借此,我想成为第一个欢迎你并祝你旅途愉快的人,没有比从阅读本书来开始这段旅程
更好的方式了!
Michael Stowe,作家、演讲家和技术专家
2020 年冬,加利福尼亚州旧金山

前言
目前,网站是企业和个人沟通的主要媒介。网站上有人造卫星拍摄的地球全貌图片、对
外太空生命的探索、家庭相册、电商购物车和产品列表,以及更多的东西。很多网站都
是用 PHP 驱动的,它是一门为 HTML 而生的开源脚本语言。
自 1994 年问世以来,PHP 以其惊人的发展风靡网络并延续至今。数百万个网站使用 PHP
制作,足以证明它的流行和易用。每天人们都可以学习 PHP 并且用它来构建强大的动态
网页。
PHP 7 以后的语言内核突出了强大的字符串和数组处理工具,还有对面向对象的强大支
持和优化。用标准和可选的扩展模块,PHP 应用可以和 MySQL 或 Oracle 数据库交互、
画图、创建 PDF 文件和解析 XML 文件。你可以在 Windows 中运行 PHP,它可以让你
控制其他 Windows 应用程序,例如,用 COM 调用 Word 和 Excel,或者使用 ODBC 和
数据库交互。
这本书是 PHP 语言的指南。当读完本书后,你会知道 PHP 语言如何工作,如何使用标
准 PHP 中的强大扩展模块以及如何设计自己的 PHP 网页程序。

目录

第1 章 PHP 介绍 1
PHP 可以做什么 1
PHP 的历史简述 2
PHP 的演变 2
PHP 的广泛使用 6
安装PHP 7
PHP 的开发流程 7
配置页面 8
表单 9
数据库 10
图片 12
下一步 14
第2 章 语言基础 15
词法结构 15
大小写区分性 15
语句和分号 15
空白符和换行 16
注释 17
字面量 20
标识符 20
关键字 21
数据类型 22
整型 22
浮点数 23
字符串 24
布尔型 26
数组 26
对象 28
资源 28
回调 29
NULL 30
变量 30
变量的变量 31
变量的引用 31
变量的作用域 32
垃圾收集 34
表达式和操作符 35
操作符的数目 37
操作符的优先级 37
操作符的结合性 38
隐式转换 38
算术操作符 39
字符串连接操作符 40
自动递增/自动递减操作符 40
比较操作符 41
位操作符 42
逻辑操作符 44
类型转换操作符 45
赋值操作符 46
其他操作符 47
流程控制语句 48
if 48
switch 51
while 53
for 55
foreach 57
try catch 57
declare 58
exit 和return 59
goto 59
包含代码 60
将PHP 嵌入Web 页面 62
标准(XML)风格 62
SGML 风格 64
直接输出内容 64
下一步 64
第3 章 函数 65
调用函数 65
定义函数 66
变量作用域 68
全局变量 69
静态变量 70
函数参数 71
按值传递参数 71
按引用传递参数 71
默认参数 72
可变参数 72
遗漏参数 73
类型提示 74
返回值 75
可变函数 76
匿名函数 77
下一步 79
第4 章 字符串 80
引用字符串常量 80
变量插值 80
单引号括起来的字符串 81
双引号括起来的字符串 81
here 文档 82
输出字符串 84
echo 84
print() 85
printf() 85
print_r() 和var_dump() 87
访问单个字符 89
整理字符串 89
删除空白符号 89
改变大小写 90
编码和转义 91
HTML 91
URL 94
SQL 95
C 语言字符串编码 96
比较字符串 96
精确比较 97
近似相等 98
处理和查找字符串 100
子串 100
其他字符串函数 101
分解字符串 102
字符串查找函数 104
正则表达式 107
基础 107
字符类 108
选择性 109
重复序列 110
子模式 110
分隔符 111
匹配行为 111
字符类 112
锚 113
量词和贪婪 113
非捕获组 114
逆向引用 114
后缀选项 115
内联选项 116
前向断言和后向断言 117
剪切 118
条件表达式 119
正则表达式的相关函数 119
和Perl 正则表达式的差别 124
下一步 125
第5 章 数组 126
索引数组和关联数组 126
识别数组元素 127
在数组中存储数据 128
在数组末尾添加值 129
指定值的范围 130
获得数组大小 130
填充数组 130
多维数组 131
析取多个值 131
切割数组 132
数组分块 132
键(Key)和值(Value) 133
检查元素是否存在 134
在数组中删除和插入元素 135
数组和变量间的转换 136
从数组创建变量 136
从变量创建数组 137
遍历数组 137
foreach 结构 137
迭代器函数 138
使用for 循环 140
为数组中的每个元素调用函数 140
数组归纳 141
查找元素值 142
排序 144
一次排序一个数组 144
按自然顺序排序 147
一次对多个数组进行排序 147
翻转数组 148
随机排序 149
作用于整个数组 149
计算数组元素的和 149
合并两个数组 150
计算两个数组的差 150
从数组中过滤元素 151
使用数组实现数据类型 151
集合 152
栈 152
实现迭代器接口 154
下一步 156
第6 章 对象 157
对象概述 157
术语 158
创建一个对象 158
访问对象的属性和方法 159
声明一个类 161
声明方法 161
声明属性 164
声明类常量 165
继承 166
接口 167
trait 168
抽象方法 171
构造函数 172
析构函数 173
匿名类 173
自省 174
类检验 174
对象检验 176
自省程序示例 177
序列化 180
下一步 183
第7 章 日期和时间 184
下一步 188
第8 章 Web 技术 189
HTTP 基础 189
变量 190
服务器信息 191
处理表单 193
方法 193
参数 194
自处理页面 195
黏性表单 197
多值参数 198
黏性多值参数 200
文件上传 202
表单验证 203
设置响应标头 205
不同的内容类型 206
重定向 206
过期 206
认证 207
维护状态 208
cookie 209
会话 213
结合cookie 和会话 216
SSL 217
下一步 217
第9 章 数据库 218
使用PHP 访问数据库 218
关系数据库和SQL 219
PHP 数据对象 220
MySQLi 对象接口 224
检索数据用于显示 225
SQLite 226
文件级别的操作 230
MongoDB 238
检索数据 240
插入更复杂的数据 241
下一步 244
第10 章 图片 245
在网页中嵌入图片 245
图片基本概念 247
创建和绘制图片 247
图片程序的结构 248
变更输出格式 249
图片格式支持测试 250
读取已有的文件 250
基本绘图函数 250
带文本的图片 252
字体 253
TrueType 字体 254
动态生成按钮 256
缓存动态生成的按钮 257
更快的缓存 258
图片缩放 260
颜色处理 262
使用 alpha 通道 263
颜色识别 265
真彩色索引 265
图片的文本形式 266
下一步 267
第11 章 PDF 0268
PDF 扩展 268
文件和页面 268
简单的示例 269
初始化文件 270
输出文本单元格 270
文本 270
坐标 270
文本属性 273
页眉、页脚和类扩展 275
图片和链接 277
表格和数据 279
下一步 282
第12 章 XML 0283
XML 快速入门 283
生成XML 文件 285
解析XML 文件 287
元素处理程序 287
字符数据处理程序 288
处理指令 289
实体处理程序 290
默认处理程序 291
选项 292
使用解析器 293
错误 294
方法作为处理程序 295
示例解析程序 296
用DOM 解析XML 文件 301
用SimpleXML 解析XML 文件 301
用XSLT 转换XML 文件 302
下一步 305
第13 章 JSON 0306
使用JSON 306
序列化PHP 对象 307
选项 309
下一步 310
第14 章 安全 311
预防 311
过滤输入 311
转义输出 314
安全漏洞 319
跨站脚本 319
SQL 注入 319
文件名漏洞 321
会话固定 322
文件上传陷阱 323
未授权的文件访问 324
PHP 的代码问题 327
shell 命令弱点 328
数据加密问题 329
更多信息 329
安全概要回顾 329
下一步 330
第15 章 应用技术 331
代码库 331
模板系统 332
处理输出 335
输出缓冲 335
压缩输出 337
性能调优 337
基准测试 338
剖析 340
优化执行时间 341
优化内存占用 342
反向代理和复制 342
下一步 344
第16 章 网页服务 0345
REST 客户端 345
响应 347
获取资源 348
更新资源 349
创建资源 349
删除资源 350
XML-RPC 351
服务器 351
客户端 353
下一步 354
第17 章 调试PHP 0355
开发环境 355
预演环境 356
生产环境 356
phpini 的配置 357
错误处理 358
错误报告 358
异常 360
错误抑制 360
触发错误 360
定义错误处理程序 361
手动调试 364
错误日志 366
IDE 调试 366
更多的调试技术 368
下一步 368
第18 章 不同平台的PHP 0369
为Windows 和UNIX 编写可移植的代码 369
确定平台 369
跨平台处理路径 370
探索服务器环境 370
发送邮件 371
行尾处理 372
文件尾部处理 372
使用外部命令 373
访问特定平台扩展 373
COM 接口 373
背景 373
PHP 函数 375
API 规范 375
附录A 函数参考 377
作者介绍 474
封面介绍 475

读者评论

  • 示例1-3

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>">
    这是一个Get请求,所以应该使用$_GET[‘name’]获取请求参数。

    就是不知道这个代码或不会与PHP,APACHE的版本相关。

    Mr.xie发表于 2021/6/3 16:19:30
  • 书中 第2页,提示的 “参考资料.pdf” 在这个网址下载
    http://www.broadview.com.cn/40463
    打开该页面 确没有

    zh3300330发表于 2021/5/7 8:29:23
    • 您好,资料已上传。

      许艳发表于 2021/5/21 14:36:57

相关图书

Python一行流:像专家一样写代码

Christian Mayer (作者) 苏丹 (译者)

本书专注于从初学迈向进阶的Python编码技术:如何像专家一样写出优雅、准确、简洁高效的Python 单行代码;阅读任意一行Python 代码时,如何系统性地对...

¥89.00

剑指Offer(专项强化版):数据结构与算法名企面试题精讲

何海涛 (作者)

本书全面、系统地总结了在准备程序员面试过程中必备的数据结构与算法。本书首先详细讨论整数、数组、链表、字符串、哈希表、栈、队列、二叉树、堆和前缀树等常用的数据结构...

¥89.00

C++服务器开发精髓

张远龙 (作者)

本书从操作系统原理角度讲解进行C++服务器开发所需掌握的技术栈。全书总计9章,第1~2章讲解C++ 11/14/17新标准中的常用特性、新增类库,以及C++开发...

 

深入理解Spring Cloud与实战

方剑 (作者)

本书共分10章,主要介绍Spring Cloud各个核心组件的设计原理,以及目前流行的Spring Cloud Alibaba和 Netflix组件,并且剖析S...

¥106.00

基于Kotlin的Spring Boot微服务实战

袁康 (作者)

本书介绍了Kotlin在Spring Boot微服务开发中的实践,并使用Kotlin作为开发语言,介绍了函数式编程思想、Kotlin的语法、Kotlin在常用中...

¥69.30

Java编程方法论:响应式Spring Reactor 3设计与实现

李飞 (作者)

《Java编程方法论:响应式Spring Reactor 3设计与实现》主要专注于解读Spring Reactor 3的代码设计与实现。全书共10章,其中第1、...