PHP与MySQL 程序设计:第3版(PHP & MySQL开发新圣经) (china-pub首发)
编辑推荐
PHP & MySQL开发新圣经.
Amazon PHP畅销书..
涵盖PHP & MySQL最新版...
书籍 计算机书籍
本书是全面讲述php与mysql的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。本书涵盖了两种技术新版本中出现的最新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开发者在实际中所面临的各种挑战。.
本书内容全面深入,适合各层次php和mysql开发人员阅读,既是优秀的学习教程,也可用作参考手册。...
W. Jason Gilmore,世界知名的软件技术专家,CodeMash技术大会创始人之一,MySQL全球技术大会顾问委员会成员。他曾负责Apress出版公司开源图书出版项目,开发了大量PHP和MySQL应用程序,并在各大专业媒体发表了众多有影响的技术文章。他的个人网站是http://www.wjgilmore.com。...
..
<< 查看详细
第1章 php概述. 1
1.1 历史 1
1.1.1 php 4 2
1.1.2 php 5 3
1.1.3 php 6 4
1.2 一般语言特性 4
1.2.1 实用性 4
1.2.2 强大功能 5
1.2.3 可能性 5
1.2.4 成本 6
1.3 小结 6
第2章 环境配置 7
2.1 安装的前提条件 7
2.1.1 下载apache 8
2.1.2 下载php 8
2.1.3 获得文档 9
2.2 在linux上安装apache和php 9
2.3 在windows上安装apache和php 11
2.4 在windows上安装iis和php 12
2.4.1 安装iis和php 13
.2.4.2 配置fastcgi来管理php进程 13
2.5 测试安装 14
2.6 配置php 16
2.6.1 在linux上构建时配置php 16
2.6.2 定制windows构建 16
2.7 运行时配置 16
2.7.1 管理php的配置指令 17
2.7.2 php的配置指令 18
2.8 选择代码编辑器 29
2.8.1 adobe dreamweaver cs3 29
2.8.2 notepad++ 30
2.8.3 pdt 30
2.8.4 zend studio 30
2.9 选择web托管服务提供商 31
2.10 小结 32
第3章 php基础 33
3.1 在web页面中嵌入php代码 33
3.1.1 默认语法 33
3.1.2 短标记 34
3.1.3 脚本 34
3.1.4 asp风格 35
3.1.5 嵌入多个代码块 35
3.2 为代码添加注释 35
3.2.1 单行c++语法 35
3.2.2 shell语法 36
3.2.3 多行c语法 36
3.3 向浏览器输出数据 36
3.3.1 print()语句 37
3.3.2 printf()语句 38
3.3.3 sprintf() 39
3.4 php支持的数据类型 39
3.4.1 标量数据类型 39
3.4.2 复合数据类型 40
3.4.3 使用类型强制转换实现数据类型间的转换 41
3.4.4 类型自动转换 42
3.4.5 与类型有关的函数 43
3.4.6 类型标识符函数 43
3.5 标识符 44
3.6 变量 45
3.6.1 变量声明 45
3.6.2 变量作用域 46
3.6.3 php的超级全局变量 49
3.6.4 变量的变量 52
3.7 常量 53
3.8 表达式 53
3.8.1 操作数 53
3.8.2 操作符 54
3.9 字符串插入 58
3.9.1 双引号 58
3.9.2 单引号 59
3.9.3 heredoc 60
3.10 控制结构 60
3.10.1 条件语句 61
3.10.2 循环语句 63
3.10.3 文件包含语句 67
3.11 小结 69
第4章 函数 70
4.1 调用函数 70
4.2 创建函数 71
4.2.1 按值传递参数 71
4.2.2 按引用传递参数 72
4.2.3 默认参数值 73
4.2.4 从函数返回值 74
4.2.5 递归函数 75
4.3 函数库 77
4.4 小结 78
第5章 数组 79
5.1 什么是数组 79
5.2 创建数组 80
5.2.1 用array()创建数组 81
5.2.2 用list()提取数组 81
5.2.3 用预定义的值范围填充数组 82
5.2.4 测试数组 83
5.3 添加和删除数组元素 84
5.3.1 在数组头添加元素 84
5.3.2 在数组尾添加元素 84
5.3.3 从数组头删除值 84
5.3.4 从数组尾删除元素 85
5.4 定位数组元素 85
5.4.1 搜索数组 85
5.4.2 获取数组键 86
5.4.3 获取数组值 86
5.5 遍历数组 87
5.5.1 获取当前数组键 87
5.5.2 获取当前数组值 87
5.5.3 获取当前数组键和值 88
5.5.4 移动数组指针 88
5.5.5 向函数传递数组值 89
5.6 确定数组的大小和唯一性 90
5.6.1 确定数组的大小 90
5.6.2 统计数组元素出现的频度 91
5.6.3 确定唯一的数组元素 91
5.7 数组排序 91
5.7.1 逆置数组元素顺序 91
5.7.2 置换数组键和值 92
5.7.3 数组排序 92
5.8 合并、拆分、接合和分解数组 96
5.8.1 合并数组 96
5.8.2 递归追加数组 97
5.8.3 连接两个数组 97
5.8.4 拆分数组 97
5.8.5 接合数组 98
5.8.6 求数组的交集 99
5.8.7 求关联数组的交集 100
5.8.8 求数组的差集 100
5.8.9 求关联数组的差集 100
5.9 其他有用的数组函数 101
5.9.1 返回一组随机的键 101
5.9.2 随机洗牌数组元素 101
5.10 小结 103
第6章 面向对象的php 104
6.1 oop的好处 104
6.1.1 封装 104
6.1.2 继承 105
6.1.3 多态 105
6.2 关键的oop概念 106
6.2.1 类 106
6.2.2 对象 107
6.2.3 字段 107
6.2.4 属性 109
6.2.5 常量 112
6.2.6 方法 112
6.3 构造函数和析构函数 116
6.3.1 构造函数 116
6.3.2 析构函数 118
6.4 静态类成员 119
6.5 instanceof关键字 120
6.6 辅助函数 120
6.7 自动加载对象 122
6.8 小结 122
第7章 高级oop特性 123
7.1 php不支持的高级oop特性 123
7.2 对象克隆 124
7.2.1 克隆示例 124
7.2.2 __clone()方法 125
7.3 继承 126
7.3.1 类继承 127
7.3.2 继承和构造函数 128
7.4 接口 130
7.4.1 实现一个接口 131
7.4.2 实现多个接口 132
7.5 抽象类 132
7.6 命名空间介绍 133
7.7 小结 135
第8章 错误和异常处理 136
8.1 配置指令 136
8.2 错误日志 138
8.3 异常处理 140
8.3.1 为什么异常处理很方便 141
8.3.2 php的异常处理实现 142
8.4 小结 146
第9章 字符串和正则表达式 147
9.1 正则表达式 147
9.1.1 正则表达式语法(posix) 147
9.1.2 php的正则表达式函数(posix扩展) 149
9.1.3 正则表达式语法(perl风格) 152
9.2 其他字符串函数 158
9.2.1 确定字符串长度 158
9.2.2 比较两个字符串 158
9.2.3 处理字符串大小写 160
9.2.4 字符串与html相互转换 161
9.3 正则表达式函数的替代函数 165
9.3.1 填充和剔除字符串 171
9.3.2 字符和单词计数 172
9.4 使用pear:validate_us 174
9.4.1 安装validate_us 174
9.4.2 使用validate_us 175
9.5 小结 175
第10章 处理文件和操作系统 176
10.1 了解文件和目录 176
10.1.1 解析目录路径 176
10.1.2 计算文件、目录和磁盘大小 178
10.1.3 确定访问和修改时间 181
10.2 文件处理 182
10.2.1 资源的概念 182
10.2.2 换行 182
10.2.3 识别文件末尾字符 182
10.2.4 打开和关闭文件 183
10.2.5 读取文件 184
10.2.6 将字符串写入文件 189
10.2.7 移动文件指针 190
10.2.8 读取目录内容 190
10.3 执行shell命令 191
10.4 系统级程序执行 193
10.4.1 清理输入 193
10.4.2 php的程序执行函数 194
10.5 小结 196
第11章 pear 197
11.1 流行的pear包 197
11.1.1 预安装的包 197
11.1.2 安装程序建议的包 198
11.2 pear的强大功能:数值格式转换 198
11.3 安装和更新pear 199
11.3.1 安装pear 199
11.3.2 pear和托管公司 200
11.3.3 更新pear 200
11.4 使用pear包管理器 201
11.4.1 查看安装的pear包 201
11.4.2 了解pear安装包的更多信息 201
11.4.3 安装pear包 202
11.4.4 将包包含到脚本中 203
11.4.5 升级pear包 204
11.4.6 卸载包 204
11.4.7 降级pear包 205
11.5 小结 205
第12章 日期和时间 206
12.1 unix时间戳 206
12.2 php的日期和时间库 206
12.2.1 验证日期 207
12.2.2 格式化日期和时间 207
12.2.3 将时间戳转换为用户友好的值 210
12.2.4 处理时间戳 211
12.3 日期函数 212
12.3.1 显示本地化的日期和时间 212
12.3.2 显示网页的最新修改日期 215
12.3.3 确定当前月份中的天数 216
12.3.4 确定任意给定月份的天数 216
12.3.5 计算当前日期后x天的日期 216
12.3.6 利用pear:创建日历 217
12.4 为php 5.1+用户提供的日期时间改进 219
12.4.1 datetime构造函数简介 220
12.4.2 格式化日期 220
12.4.3 实例化后设置日期 220
12.4.4 实例化后设置时间 221
12.4.5 修改日期和时间 221
12.5 小结 221
第13章 表单 222
13.1 php和web表单 222
13.1.1 简单示例 223
13.1.2 向函数传递表单数据 224
13.1.3 处理多值表单组件 225
13.2 充分利用pear: html_quickform 226
13.2.1 安装html_quickform 227
13.2.2 创建一个简单的表单 227
13.2.3 使用自动完成 231
13.3 小结 232
第14章 身份验证 233
14.1 http验证概念 233
14.2 php验证 234
14.2.1 验证变量 234
14.2.2 有用的函数 235
14.3 php验证方法 236
14.3.1 硬编码的身份验证 236
14.3.2 基于文件的身份验证 236
14.3.3 基于数据库的身份验证 238
14.3.4 基于ip的身份验证 239
14.3.5 利用pear:auth_http 241
14.4 用户登录管理 243
14.4.1 用cracklib库测试密码易猜性 243
14.4.2 一次性url和密码恢复 245
14.5 小结 247
第15章 处理文件上传 248
15.1 通过http协议上传文件 248
15.2 通过php上传文件 249
15.2.1 php的文件上传/资源指令 249
15.2.2 $_files数组 250
15.2.3 php的文件上传函数 251
15.2.4 上传错误消息 252
15.2.5 一个简单的示例 252
15.3 利用pear:http_upload 253
15.3.1 安装http_upload 253
15.3.2 上传文件 254
15.3.3 了解关于上传文件的更多信息 254
15.3.4 上传多个文件 255
15.4 小结 256
第16章 网络 257
16.1 dns、服务器和服务 257
16.1.1 dns 257
16.1.2 服务 261
16.1.3 建立套接字连接 261
16.2 邮件 263
16.2.1 配置指令 263
16.2.2 使用php脚本发送电子邮件 264
16.3 常见网络任务 268
16.3.1 连接服务器 269
16.3.2 创建端口扫描器 269
16.3.3 创建子网转换器 270
16.3.4 测试用户带宽 272
16.4 小结 273
第17章 php和ldap 274
17.1 在php中使用ldap.. 275
17.1.1 连接到ldap服务器 275
17.1.2 获取ldap数据 277
17.1.3 统计所获取的项 280
17.1.4 排序ldap记录 281
17.1.5 插入ldap数据 281
17.1.6 更新ldap数据 282
17.1.7 删除ldap数据 283
17.1.8 处理区分名 283
17.1.9 错误处理 284
17.2 小结 285
第18章 会话处理器 286
18.1 什么是会话处理 286
18.2 配置指令 288
18.2.1 管理会话存储介质 288
18.2.2 设置会话文件路径 288
18.2.3 自动启用会话 288
18.2.4 设置会话名称 289
18.2.5 选择cookie或url重写 289
18.2.6 自动进行url重写 289
18.2.7 设置会话cookie的生存期 289
18.2.8 设置会话cookie的有效url路径 289
18.2.9 为启用会话的页面设置缓存方向 290
18.3 处理会话 291
18.3.1 开始会话 291
18.3.2 销毁会话 291
18.3.3 设置和获取会话id 292
18.3.4 创建和删除会话变量 292
18.3.5 编码和解码会话数据 293
18.4 实际的会话处理示例 294
18.4.1 以返回用户的身份自动登录 294
18.4.2 生成最近浏览的文档索引 296
18.5 创建定制会话处理器 297
18.5.1 将定制会话函数加入到php逻辑 298
18.5.2 基于mysql的定制会话处理器 298
18.6 小结 302
第19章 用smarty模板化 303
19.1 什么是模板化引擎 303
19.2 smarty介绍 305
19.3 安装smarty 305
19.4 使用smarty 306
19.5 smarty的表现逻辑 308
19.5.1 注释 308
19.5.2 变量修饰符 308
19.5.3 控制结构 311
19.5.4 语句 315
19.6 创建配置文件 317
19.6.1 config_load 317
19.6.2 引用配置变量 317
19.7 结合smarty使用css 318
19.8 缓存 319
19.8.1 处理缓存生命期 320
19.8.2 通过is_cached()消除处理开销 320
19.8.3 为每个模板创建多个缓存 321
19.8.4 关于缓存的结束语 322
19.9 小结 322
第20章 web服务 323
20.1 为什么使用web服务 323
20.2 rss 324
20.2.1 理解rss语法 326
20.2.2 magpierss介绍 327
20.3 simplexml 334
20.3.1 加载xml 335
20.3.2 解析xml 336
20.4 soap 339
20.4.1 soap消息介绍 339
20.4.2 php的soap扩展介绍 340
20.5 小结 346
第21章 安全php编程 347
21.1 安全地配置php 347
21.1.1 安全模式 347
21.1.2 其他与安全有关的配置参数 349
21.2 隐藏配置细节 351
21.2.1 隐藏apache 351
21.2.2 隐藏php 351
21.3 隐藏敏感数据 352
21.3.1 隐藏文档根目录 353
21.3.2 拒绝访问某些文件扩展名 353
21.4 清理用户数据 353
21.4.1 文件删除 354
21.4.2 跨网站脚本 354
21.4.3 清理用户输入:解决方案 355
21.4.4 利用pear:validate 357
21.5 数据加密 359
21.5.1 php的加密函数 359
21.5.2 mcrypt包 361
21.6 小结 362
第22章 sqlite 363
22.1 sqlite介绍 363
22.1.1 安装sqlite 363
22.1.2 使用sqlite命令行界面 364
22.2 php的sqlite库 365
22.2.1 sqlite.assoc_case=o
最好的编程图书应该不是纯粹地讲述理论,而是要切合实际。虽然我没有幻想自己会成为当代最伟大的技术作家,但在写书过程中,我一直都以此为目标,努力让所写的内容能用到实处。以本书的篇幅来看,很明显,我在竭尽所能地提供这种实用性。也就是说,如果你希望获得PHP编程语言和MySQL数据库服务器的实践经验,对它们有全面的了解,并且想知道如何结合这些卓越的技术创建数据库驱动的动态Web应用程序,那么本书正合你所需。.
各个PHP和MySQL社区的狂热工作促使了本书新版本的诞生,它较之前的版本有了很大的变化。本版不但加入了PHP 6和最新的MySQL版本中出现的新特性,还另外增加了两章全新的内容。第23章讲解了如何利用国际化和本地化开源工具来为整个世界创建Web网站。第24章介绍了流行的Zend框架,它是构建功能强大的Web应用的绝佳解决方案。另外,原有的章节全部进行了修订,还有一些进行了大的改动,更新和改进了上一版本的内容。
如果你初学PHP,强烈推荐从第1章开始阅读,因为首先要掌握PHP的基础知识,这对于阅读后面的章节很有好处。如果你已经掌握了PHP,但却是第一次接触MySQL,可以考虑从第25章开始阅读。如果对PHP和MySQL都稍有了解或者已经有深入的了解,这些中级和高级读者可以有选择地阅读,毕竟这不是一本爱情小说。我尽力合理地划分各章的内容,让你能很快地了解各章的主题,而无需先掌握其他章节(除了介绍技术基础知识的章节)的内容。
另外,不论是新手还是经验丰富的PHP和MySQL开发人员,都能从本书中获益。前面已经提到,我有意将本书组织为一种可以兼作教程和参考书的混合形式。我很清楚你是花自己辛苦挣得的钱来购买本书的,所以我努力将这些内容以合理的方式组织,不仅是在前几次仔细研读时有用,将来也同样会有用。..
代码下载
要理解本书介绍的概念,最有效的办法就是使用书中的代码亲自尝试。为方便起见,http://www.apress.com提供了包含所有示例的ZIP文件,可以自由下载 。
与我联系!
我非常希望收到读者的来信,与我联系并向我提出建议、意见和问题。可以随时给我发电子邮件:jason@wjgilmore.com。另外,也要经常访问http://www.beginningphpandmysql.com来获取勘误、代码和其他的更新。
致谢
还要从2000年谈起,一家规模不大,但雄心勃勃的计算机出版商Apress的创始人之一Gary Cornell与我联系,问我有没有兴趣写一本关于PHP的书。那时我还是一个普通的开发人员,作为一个积极的技术文章撰稿人,我抓住了这次机会,但对于自己能不能完成这样一个庞大的著书工程还是没有把握。就像第一次跑马拉松,只要能够跑完全程就算是胜利,而不论能够取得怎样的成绩。
在那之后已经过去8年了,原来那本书还焕发着勃勃生机,你手中的这本书正是它的最新版本。可以说这样的成绩已经远远超出了我的预期,真心感谢Gary和Apress(现在已经成为一个规模大得多的出版商了,但雄心依旧)给予了我这个宝贵的机会。
还要感谢我的项目经理Tracy Brown Collins,感谢她无尽的耐心和非凡的组织才能。感谢技术校对Jay Pipes和Matt Wade卓越的洞察力,在他们的帮助下这本书的质量得到了显著提高。文字编辑Bill McManus再一次充分证明了他的专业水准,将我语无伦次的行文整理得井井有条。还有Apress团队中的所有其他成员,感谢你们在幕后所付出的艰辛努力。
最后,我要感谢我的家人和朋友,是他们提醒我除了工作还要很好地生活。...
“一句话,想学习PHP,就买这本书吧。”
——JavaRanch.com
“这是一本在手别无他求的PHP与MySQL宝典!单单书中的例子就已经物超所值。”
——Amazon.com ...
评论交流
共有44人开贴评论
54人参与评论
29人参与打分
查看
17人
58%
用户平均打分
8人
27%
0人
0%
1人
3%
3人
10%
已经读完了,建议大家结合实践,这样以免看着看着就不想看了
买来后没仔细去看了,远离了PHP,哎。 不过书是很好的,偶尔还会翻翻。
感觉内容比较繁杂,随便比较全面,但是好像没有很多应用的例子,不过能够把各个知识点讲解透,就非常不错了,总体感觉良好。适合初学者吧。
总体印象给4分吧。。。我初学。。一口气能看10多章。。。对于初学者还可以。觉得有些地方比较浅。。。
从专业的角度来说,是本不错的书,从LAMP的角度来说是本很好的专业书。
加载中...