本书基于PHP 7.4,介绍PHP编程技术,涵盖了PHP所有基本的要点,包括语言基础、常见的Web应用程序技术、数据库交互技术,以及安全脚本、错误处理、性能调优和跨平台开发等高级主题。
Kevin Tatroe做了近30年的Web开发工程师和苹果工程师,开发各种网站以及移动端、 桌面端和TV应用。 他对允许进行快速迭代、 实验和高度开放的架构技术很感兴趣。Peter MacIntyre 拥有 30 多年的信息技术行业经验,主要集中在 PHP 和 Web技术领域。他是 PHP : The Good Parts( O’Reilly)一书的作者, Pro PHP Programming (APress)、 Using Visual Objects,Using PowerBuilder 5、ASP.NET Bible 以及 Zend Studio for Eclipse Developer’s Guide 的合著者。
卢涛 专业社区ITPUB Oracle开发版版主。1995年参加工作,□001年转到IT部门从事C/C++软件开发,□004年开始做系统分析和Oracle数据库方面工作。参加过多个全国性普查数据处理项目和统计报表联网填报系统的开发、支持和优化,目前主要从事大数据分析方面的工作。曾参与编写《剑破冰山―Oracle开发的艺术》一书,并翻译了数本Oracle管理、开发和性能优化;C/C++开发、开发、Web开发、Linux系统管理、大数据等方面的书籍。
第一 章 PHP 介绍 1
PHP 可以做什么 1
PHP 的历史简述 □
PHP 的演变 □
PHP 的广泛使用 6
安装PHP 7
PHP 的开发流程 7
配置页面 8
表单 9
数据库 10
图片 1□
下一步 14
第□ 章 语言基础 15
词法结构 15
大小写区分性 15
语句和分号 15
空白符和换行 16
注释 17
字面量 □0
标识符 □0
关键字 □1
数据类型 □□
整型 □□
浮点数 □3
字符串 □4
布尔型 □6
数组 □6
对象 □8
资源 □8
回调 □9
NULL 30
变量 30
变量的变量 31
变量的引用 31
变量的作用域 3□
垃圾收集 34
表达式和操作符 35
操作符的数目 37
操作符的优先级 37
操作符的结合性 38
隐式转换 38
算术操作符 39
字符串连接操作符 40
自动递增/自动递减操作符 40
比较操作符 41
位操作符 4□
逻辑操作符 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 页面 6□
标准(XML)风格 6□
SGML 风格 64
直接输出内容 64
下一步 64
第3 章 函数 65
调用函数 65
定义函数 66
变量作用域 68
全局变量 69
静态变量 70
函数参数 71
按值传递参数 71
按引用传递参数 71
默认参数 7□
可变参数 7□
遗漏参数 73
类型提示 74
返回值 75
可变函数 76
匿名函数 77
下一步 79
第4 章 字符串 80
引用字符串常量 80
变量插值 80
单引号括起来的字符串 81
双引号括起来的字符串 81
here 文档 8□
输出字符串 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
分解字符串 10□
字符串查找函数 104
正则表达式 107
基础 107
字符类 108
选择性 109
重复序列 110
子模式 110
分隔符 111
匹配行为 111
字符类 11□
锚 113
量词和贪婪 113
非捕获组 114
逆向引用 114
后缀选项 115
内联选项 116
前向断言和后向断言 117
剪切 118
条件表达式 119
正则表达式的相关函数 119
和Perl 正则表达式的差别 1□4
下一步 1□5
第5 章 数组 1□6
索引数组和关联数组 1□6
识别数组元素 1□7
在数组中存储数据 1□8
在数组末尾添加值 1□9
指定值的范围 130
获得数组大小 130
填充数组 130
多维数组 131
析取多个值 131
切割数组 13□
数组分块 13□
键(Key)和值(Value) 133
检查元素是否存在 134
在数组中删除和插入元素 135
数组和变量间的转换 136
从数组创建变量 136
从变量创建数组 137
遍历数组 137
foreach 结构 137
迭代器函数 138
使用for 循环 140
为数组中的每个元素调用函数 140
数组归纳 141
查找元素值 14□
排序 144
一次排序一个数组 144
按自然顺序排序 147
一次对多个数组进行排序 147
翻转数组 148
随机排序 149
作用于整个数组 149
计算数组元素的和 149
合并两个数组 150
计算两个数组的差 150
从数组中过滤元素 151
使用数组实现数据类型 151
集合 15□
栈 15□
实现迭代器接口 154
下一步 156
第6 章 对象 157
对象概述 157
术语 158
创建一个对象 158
访问对象的属性和方法 159
声明一个类 161
声明方法 161
声明属性 164
声明类常量 165
继承 166
接口 167
trait 168
抽象方法 171
构造函数 17□
析构函数 173
匿名类 173
自省 174
类检验 174
对象检验 176
自省程序示例 177
序列化 180
下一步 183
第7 章 日期和时间 184
下一步 188
第8 章 Web 技术 189
HTTP 基础 189
变量 190
服务器信息 191
处理表单 193
方法 193
参数 194
自处理页面 195
黏性表单 197
多值参数 198
黏性多值参数 □00
文件上传 □0□
表单验证 □03
设置响应标头 □05
不同的内容类型 □06
重定向 □06
过期 □06
认证 □07
维护状态 □08
cookie □09
会话 □13
结合cookie 和会话 □16
SSL □17
下一步 □17
第9 章 数据库 □18
使用PHP 访问数据库 □18
关系数据库和SQL □19
PHP 数据对象 □□0
MySQLi 对象接口 □□4
检索数据用于显示 □□5
SQLite □□6
文件级别的操作 □30
MongoDB □38
检索数据 □40
插入更复杂的数据 □41
下一步 □44
□□0 章 图片 □45
在网页中嵌入图片 □45
图片基本概念 □47
创建和绘制图片 □47
图片程序的结构 □48
变更输出格式 □49
图片格式支持测试 □50
读取已有的文件 □50
基本绘图函数 □50
带文本的图片 □5□
字体 □53
TrueType 字体 □54
动态生成按钮 □56
缓存动态生成的按钮 □57
更快的缓存 □58
图片缩放 □60
颜色处理 □6□
使用 alpha 通道 □63
颜色识别 □65
真彩色索引 □65
图片的文本形式 □66
下一步 □67
□□1 章 PDF 0□68
PDF 扩展 □68
文件和页面 □68
简单的示例 □69
初始化文件 □70
输出文本单元格 □70
文本 □70
坐标 □70
文本属性 □73
页眉、页脚和类扩展 □75
图片和链接 □77
表格和数据 □79
下一步 □8□
□□□ 章 XML 0□83
XML 快速入门 □83
生成XML 文件 □85
解析XML 文件 □87
元素处理程序 □87
字符数据处理程序 □88
处理指令 □89
实体处理程序 □90
默认处理程序 □91
选项 □9□
使用解析器 □93
错误 □94
方法作为处理程序 □95
示例解析程序 □96
用DOM 解析XML 文件 301
用SimpleXML 解析XML 文件 301
用XSLT 转换XML 文件 30□
下一步 305
□□3 章 JSON 0306
使用JSON 306
序列化PHP 对象 307
选项 309
下一步 310
□□4 章 安全 311
预防 311
过滤输入 311
转义输出 314
安全漏洞 319
跨站脚本 319
SQL 注入 319
文件名漏洞 3□1
会话固定 3□□
文件上传陷阱 3□3
未授权的文件访问 3□4
PHP 的代码问题 3□7
shell 命令弱点 3□8
数据加密问题 3□9
更多信息 3□9
安全概要回顾 3□9
下一步 330
□□5 章 应用技术 331
代码库 331
模板系统 33□
处理输出 335
输出缓冲 335
压缩输出 337
性能调优 337
基准测试 338
剖析 340
优化执行时间 341
优化内存占用 34□
反向代理和□□ 34□
下一步 344
□□6 章 网页服务 0345
REST 客户端 345
响应 347
获取资源 348
更新资源 349
创建资源 349
删除资源 350
XML-RPC 351
服务器 351
客户端 353
下一步 354
□□7 章 调试PHP 0355
开发环境 355
预演环境 356
生产环境 356
phpini 的配置 357
错误处理 358
错误报告 358
异常 360
错误抑制 360
触发错误 360
定义错误处理程序 361
手动调试 364
错误日志 366
IDE 调试 366
更多的调试技术 368
下一步 368
□□8 章 不同平台的PHP 0369
为Windows 和UNIX 编写可移植的代码 369
确定平台 369
跨平台处理路径 370
探索服务器环境 370
发送邮件 371
行尾处理 37□
文件尾部处理 37□
使用外部命令 373
访问特定平台扩展 373
COM 接口 373
背景 373
PHP 函数 375
API 规范 375
附录A 函数参考 377
作者介绍 474
封面介绍 475