PHP 6高级编程PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:(美)汤普森,(美)诺维茨基等著
- 出 版 社:北京:清华大学出版社
- 出版年份:2010
- ISBN:9787302238249
- 页数:650 页
第Ⅰ部分 专业开发基础第1章 面向对象编程概述 3
1.1 面向对象编程的概念 3
1.1.1 OOP的优点 4
1.1.2 一个现实世界的例子 4
1.2 理解OOP概念 5
1.3 类 5
1.3.1 对象 6
1.3.2 继承 15
1.3.3 接口 24
1.3.4 封装 26
1.4 PHP 6中OO支持的改动 27
1.5 本章小结 28
第2章 统一建模语言(UML) 31
2.1 需求收集 31
2.1.1 会见客户 32
2.1.2 用例图 32
2.2 类图 34
2.2.1 领域建模 34
2.2.2 关系 36
2.3 活动图 41
2.4 顺序图 43
2.5 状态图 45
2.6 组件图和部署图 45
2.7 本章小结 47
第3章 使用对象 49
3.1 创建联系人管理器 49
3.1.1 联系人管理器UML图 50
3.1.2 PropertyObiect类 54
3.1.3 联系信息类型类 56
3.1.4 DataManager类 60
3.1.5 Entity类、Individual类和Organization类 62
3.2 使用系统 70
3.3 本章小结 72
第4章 设计模式 73
4.1 组合模式 73
4.1.1 实现 75
4.1.2 几点考虑事项 79
4.2 观察者模式 80
4.2.1 窗口部件 81
4.2.2 几点考虑事项 86
4.3 装饰器模式 87
4.3.1 实现 89
4.3.2 使用装饰器模式 90
4.3.3 几点考虑事项 92
4.4 外观模式 92
4.5 建造者模式 94
4.5.1 实现 94
4.5.2 几点考虑事项 98
4.6 本章小结 98
第5章 Collection类 101
5.1 设计Collection类的目的 101
5.2 设计Collection类 102
5.3 Collection类的基本方法 103
5.3.1 addItem方法 104
5.3.2 removeItem方法和getItem方法 105
5.3.3 其他方法 105
5.3.4 使用Collection类 106
5.4 实现惰性实例化 107
5.4.1 回调 108
5.4.2 Collection类中的setLoadCallback方法 113
5.5 使用Collection类 117
5.6 改进Collection类 123
5.7 本章小结 123
第6章 使用PDO的数据库抽象 125
6.1 PHP和数据库 125
6.1.1 PHP的数据库支持 126
6.1.2 PHP和PostgreSQL 126
6.1.3 概述 127
6.1.4 问题 131
6.1.5 包装器类 131
6.1.6 总结 132
6.2 数据库抽象 132
6.2.1 所需的技术 133
6.2.2 PDO简介 133
6.2.3 PDO入门 133
6.3 使用PDO 135
6.3.1 PDO类 135
6.3.2 执行查询 136
6.3.3 PDOStatement类 137
6.3.4 预置语句 137
6.3.5 只写语句 139
6.3.6 事务与提交 140
6.3.7 常量 141
6.3.8 处理错误 141
6.4 高级PDO技术 143
6.4.1 大对象 143
6.4.2 数据库特有的函数 145
6.4.3 持久连接 145
6.4.4 存储过程 146
6.4.5 单元素实例化 146
6.5 PDO的局限性 147
6.5.1 查询语法 148
6.5.2 功能模拟 148
6.5.3 非SQL数据源 149
6.5.4 掌握PDO所需的额外知识 149
6.6 本章小结 149
第Ⅱ部分 高级开发技术第7章 对象关系映射 153
7.1 类的类型 153
7.1.1 实用类 154
7.1.2 业务类 154
7.2 业务对象详解 155
7.2.1 设计 155
7.2.2 原型 155
7.2.3 添加数据绑定 158
7.2.4 可行的业务对象 160
7.2.5 确保满足需求 164
7.2.6 理解工作原理 168
7.2.7 局限性 169
7.3 更加智能的方式 170
7.3.1 惰性实例化 170
7.3.2 属性监控 171
7.3.3 可重用性 171
7.4 DataBoundObject类 171
7.4.1 设计 171
7.4.2 编码 172
7.4.3 示例实现 176
7.4.4 工作原理 178
7.4.5 优点 182
7.5 本章小结 183
第8章 事件驱动编程 185
8.1 理解事件 185
8.2 使用OOP处理事件 186
8.2.1 设计事件驱动解决方案 187
8.2.2 实现解决方案 189
8.2.3 实现安全性 193
8.2.4 暂停并思考 195
8.3 本章小结 196
第9章 记录和调试 197
9.1 创建记录机制 197
9.1.1 简单文件记录 197
9.1.2 文件系统布局示例 198
9.1.3 Logger类 199
9.1.4 扩展Logger类 204
9.2 创建调试机制 215
9.3 本章小结 218
第10章 编写和使用Web服务 219
10.1 SOAP 220
10.1.1 SOAP和PHP 6 220
10.1.2 PHP 6 SOAP扩展 221
10.2 创建SOAP客户端 224
10.2.1 分析后台工作原理 226
10.2.2 SOAP客户端上的异常处理 232
10.3 构建SOAP服务器 233
10.3.1 创建并注册函数 234
10.3.2 创建WSDL文档 234
10.4 REST 236
10.5 实现REST客户端 237
10.6 构建REST服务器 239
10.7 本章小结 240
第11章 与用户通信 241
11.1 实现通信的必要性 241
11.1.1 与用户通信的原因 242
11.1.2 在Web浏览器之外考虑问题 243
11.2 通信的类型 244
11.2.1 所有通信的共有部分 244
11.2.2 不是所有通信都拥有的部分 244
11.2.3 收件人的情况 244
11.3 作为类层次结构的通信 245
11.3.1 Recipient类:快速测试类似于OOP的思想 245
11.3.2 通信类 249
11.4 给用户发送电子邮件 252
11.4.1 构建测试版本 253
11.4.2 分析消息 256
11.4.3 灵活利用模板 262
11.4.4 使用MIME 264
11.5 其他通信子类 264
11.5.1 SMS文本消息收发 264
11.5.2 传真 265
11.6 其他需要考虑的因素 265
11.6.1 阻塞活动 265
11.6.2 可传递性 266
11.7 本章小结 268
第12章 会话和身份验证 269
12.1 会话简介 269
12.1.1 HTTP的工作原理 270
12.1.2 会话的定义 271
12.1.3 会话永存 272
12.1.4 会话安全 275
12.1.5 良好的会话实践 278
12.2 PHP实现会话的方式 280
12.2.1 基本PHP会话 280
12.2.2 基本PHP会话的局限性 282
12.3 创建身份验证类 283
12.3.1 将PHP会话管理连接到数据库 283
12.3.2 HTTPSession类简介 284
12.3.3 数据库模式 285
12.3.4 代码:HTTPSession.Phpm 286
12.3.5 代码:测试HTTPSession类 290
12.3.6 HTTPSession类的工作原理 293
12.3.7 性能考虑事项 295
12.3.8 将所有内容串在一起 296
12.4 本章小结 296
第13章 应用程序体系结构 299
13.1 MVC简介 300
13.1.1 模型 300
13.1.2 视图 301
13.1.3 控制器 301
13.1.4 Web应用程序中的MVC 302
13.1.5 PHP中的MVC 302
13.2 MVC微型工具包 304
13.2.1 工具包简介 304
13.2.2 使用工具包 317
13.2.3 关于PRG的讨论 324
13.2.4 第三方工具包 324
13.3 真正的模板化 325
13.3.1 重新实现原始PHP模板化 325
13.3.2 原始模板化的隐患 325
13.3.3 使用Smarty模板实现真正的模板化 326
13.3.4 安装Smarty 326
13.3.5 使用Smarty 327
13.3.6 Smarty高级功能 333
13.3.7 使用Smarty模板化的场合与使用传统模板化的场合 335
13.4 少量的建模工作 335
13.4.1 单元测试简介 336
13.4.2 PHPUnit简介 339
13.4.3 如此麻烦的必要性 343
13.5 本章小结 344
第14章 PHP应用程序架构 347
14.1 架构简介 347
14.1.1 应用程序结构 348
14.1.2 代码和显示逻辑分离 348
14.1.3 验证 348
14.1.4 URL重写 349
14.1.5 表单的持久化 349
14.1.6 对象关系映射 350
14.1.7 数据库抽象 350
14.1.8 实用类 351
14.2 用例场景 351
14.3 应用程序示例 353
14.3.1 Ulysses简介 353
14.3.2 安装Ulysses 353
14.3.3 使用Ulysses 354
14.3.4 设置 355
14.3.5 业务对象 356
14.3.6 servlet 357
14.3.7 处理用户输入 362
14.3.8 持久化 364
14.3.9 验证 364
14.3.10 快速检查 365
14.3.11 保存输入 366
14.3.12 大功告成 367
14.3.13 快速总结 367
14.4 其他一些架构 368
14.4.1 Prado 369
14.4.2 Zend Framework 369
14.5 部署考虑事项 370
14.6 本章小结 371
第Ⅲ部分 现实世界案例研究第15章 项目概述 375
15.1 Widget World 376
15.2 Widget World概述 377
15.2.1 技术层 377
15.2.2 财务层 378
15.2.3 行政层 378
15.2.4 您所扮演的角色 378
15.2.5 需求是否确实与技术有关 378
15.3 开发方法 378
15.3.1 开发方法对您的意义 380
15.3.2 相关技术 381
15.4 本章小结 381
第16章 项目管理 383
16.1 做准备工作 383
16.1.1 新项目产生的原因 384
16.1.2 项目的接收方 384
16.1.3 项目的历史 385
16.1.4 项目的预期先决条件 386
16.2 接收正式摘要 386
16.2.1 业务需求 387
16.2.2 需求范围 388
16.2.3 时间表 389
16.2.4 预算 390
16.2.5 商业条款 391
16.2.6 未来规划 392
16.2.7 外观 393
16.2.8 技术 393
16.2.9 支持 393
16.2.10 现在的工作 394
16.3 构建计划书 394
16.3.1 计划书与报价 394
16.3.2 计划书与规范 395
16.3.3 拟定计划书时的参与人员 395
16.3.4 何时做进一步努力 396
16.3.5 何时退出竞争 396
16.3.6 组织计划书 397
16.4 选择人员 398
16.4.1 项目经理 398
16.4.2 客户经理 398
16.4.3 首席架构师 399
16.4.4 软件架构师和工程师 399
16.4.5 客户方开发人员 399
16.4.6 信息架构师 400
16.4.7 高级设计师 400
16.4.8 工作室艺术家 400
16.4.9 双重化角色 400
16.4.10 工作实践 400
16.4.11 客户的角色 401
16.5 本章小结 401
第17章 项目规划 403
17.1 选择开发过程 403
17.1.1 瀑布式开发过程 404
17.1.2 螺旋式开发过程 405
17.1.3 选定开发过程 406
17.2 通用开发过程实践 406
17.2.1 规范说明阶段 406
17.2.2 设计阶段 408
17.2.3 构建阶段 410
17.2.4 测试阶段 410
17.2.5 移交 411
17.3 编程方法和实践 412
17.3.1 测试驱动的开发 412
17.3.2 极限编程 412
17.4 改动管理 414
17.4.1 规范修订 414
17.4.2 客户签署同意意见后的规范改动 414
17.4.3 解释的差异所产生的争论 415
17.4.4 客户报告的漏洞 415
17.5 本章小结 415
第18章 系统体系结构 417
18.1 系统体系结构 417
18.1.1 系统体系结构的重要性 417
18.1.2 需要做的工作 418
18.2 确定业务需求 419
18.3 确定硬件需求 420
18.3.1 Web服务器 420
18.3.2 数据库服务器 420
18.3.3 负载均衡 420
18.3.4 防火墙 421
18.4 理解物理环境和连接性 422
18.4.1 计算CIR 422
18.4.2 计算月传输量 423
18.4.3 机柜空间的考虑事项 423
18.4.4 网络的考虑事项 423
18.4.5 存储的考虑事项 424
18.5 管理维护工作 424
18.6 本章小结 425
第19章 构建应用程序 427
19.1 开始项目:星期一 427
19.1.1 了解项目相关情况 428
19.1.2 素材权重评估 430
19.1.3 发布规划 435
19.2 开始工作 436
19.2.1 列出素材9的详细信息 436
19.2.2 编写测试 437
19.2.3 PHPUnit 438
19.2.4 创建登录页面 446
19.2.5 下一个素材 449
19.2.6 重新评估 459
19.3 整理代码 460
19.4 结束该循环 468
19.4.1 素材14:改变星期时再次调用之前的一星期 468
19.4.2 素材15:客户联系人报表中的每星期项 469
19.5 差旅费用报表 477
19.5.1 差旅费用项 479
19.5.2 每星期差旅费用 482
19.5.3 准备工作 485
19.5.4 更多的每星期差旅费用测试 486
19.5.5 实现满足每星期差旅费用测试的代码 488
19.5.6 最终的差旅费用报表 500
19.6 仿制对象 515
19.7 本章小结 519
第20章 质量保证与测试 521
20.1 QA简介 521
20.1.1 目标要远大 522
20.1.2 质量的定义 523
20.1.3 可度量和可量化的质量 523
20.2 测试 525
20.2.1 单元测试 525
20.2.2 功能测试 526
20.2.3 负载测试 527
20.2.4 易用性测试 528
20.2.5 故障跟踪 528
20.2.6 使用Mantis进行高效的故障管理 529
20.2.7 最有效地使用Mantis 536
20.3 本章小结 536
第21章 部署 537
21.1 设计开发环境 537
21.1.1 工作室开发环境 537
21.1.2 工作室准生产环境 538
21.1.3 现场准生产环境 539
21.1.4 现场生产环境 540
21.1.5 开发数据库 541
21.2 部署工作流 542
21.3 本章小结 548
第Ⅳ部分 超越PHP的极限第22章 PHP世界中的内容管理 551
22.1 内容管理的定义 551
22.2 内容管理简史 553
22.3 PHP CMS示例 554
22.3.1 Drupal 554
22.3.2 Joomla! 556
22.3.3 ExpressionEngine 558
22.3.4 Frog CMS 560
22.4 构建自己的系统 562
22.4.1 内容相关的问题 562
22.4.2 管理员和特权 564
22.4.3 工作流 565
22.4.4 模板 566
22.5 本章小结 567
第23章 处理高流量和高可用性 569
23.1 理解术语 569
23.1.1 高可用性 569
23.1.2 高流量 570
23.2 平台 570
23.2.1 外部网络 571
23.2.2 内部网络 572
23.2.3 硬件 572
23.2.4 操作系统 573
23.2.5 Web服务器 574
23.2.6 应用服务器 574
23.2.7 数据库 575
23.2.8 软件体系结构 575
23.3 影响因素 576
23.3.1 服务器负载 576
23.3.2 组件故障 577
23.3.3 网络负载 577
23.3.4 网络故障 578
23.4 缓解技术 578
23.4.1 负载平衡 578
23.4.2 地域平衡 580
23.4.3 NIC teaming 581
23.4.4 磁盘容错 581
23.4.5 电源冗余 582
23.4.6 多网段拓扑 583
23.4.7 数据库集群和复制 585
23.4.8 流量演算 586
23.4.9 缓存 587
23.4.10 内容生成 588
23.4.11 资源服务器 589
23.4.12 CDN 589
23.5 现实世界的示例 590
23.5.1 Flickr 590
23.5.2 Wikipedia 591
23.6 本章小结 592
第24章 倡导使用PHP的原因 593
24.1 较低的开销 593
24.2 语言的简洁性 594
24.2.1 弱类型化语言 595
24.2.2 简化的标点符号 595
24.2.3 普遍理解的语法 596
24.3 跨平台支持 596
24.4 无处不在 597
24.5 强大的功能 598
24.6 本章小结 599
第25章 PHP职业生涯 601
25.1 动机 601
25.2 开发人员职业生涯 602
25.2.1 Web开发之外的技能 602
25.2.2 软技能 602
25.2.3 学术技能 603
25.2.4 社区技能 604
25.3 本章小结 604
第Ⅴ部分 附录 607
附录A 版本控制 607
A.1 版本控制的基本原理 607
A.1.1 并行版本控制与独占版本控制 608
A.1.2 版本控制拓扑 613
A.2 版本控制软件 615
A.2.1 Microsoft Visual SourceSafe 615
A.2.2 CVS 616
A.2.3 Subversion 616
A.2.4 其他次要的竞争产品 617
A.3 高级版本控制技术 617
A.3.1 分支 617
A.3.2 标记 617
A.3.3 注解 618
A.3.4 二进制文件 618
A.4 本章小结 618
附录B PHP集成开发环境 619
B.1 选择IDE 619
B.1.1 Zend Studio 620
B.1.2 Komodo 626
B.2 其他的IDE和编辑器 628
B.3 本章小结 629
附录C PHP应用程序性能调整 631
C.1 性能问题概述 631
C.1.1 性能瓶颈的类型 631
C.1.2 剖析PHP请求 633
C.1.3 跟踪性能瓶颈 634
C.2 为提高性能进行修补 636
C.2.1 修正数据库阻塞 636
C.2.2 修正代码阻塞 637
C.2.3 测试 638
C.3 事先避免性能问题 639
C.3.1 高性能体系结构的几点提示 639
C.3.2 负载测试 640
C.4 本章小结 640
附录D PHP安装最佳实践 641
D.1 PHP安装简介 641
D.2 优先选择的平台 642
D.3 优先选择的Web服务器 643
D.4 优先选择的数据库 644
D.5 安装过程 645
D.5.1 下载和安装PostgreSQL 645
D.5.2 安装不同的支持类库 647
D.5.3 安装PHP和Apache 647
D.5.4 测试安装 649
D.6 需要使用Windows的情况 649
D.6.1 修改路径 649
D.6.2 外部类库 650
D.6.3 使用PEAR 650
D.7 本章小结 650
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《STEM教育丛书 麦昆机器人和Micro:bit图形化编程》张弛责任编辑;(中国)陈宝杰,沙靓雯 2019
- 《ROS机器人编程与SLAM算法解析指南》陶满礼 2020
- 《我的第一套编程启蒙绘本 123 序列来啦》编程猫教研团队编绘 2019
- 《高等院校计算机任务驱动教改教材 C语言编程思维 第2版》(中国)陈萌,鲍淑娣 2019
- 《我的第一套编程启蒙绘本 咦 什么在 循环》编程猫教研团队编绘 2019
- 《工业机器人离线编程与仿真》张明文,封家诚,王鑫主编 2019
- 《断陷湖盆比较沉积学与油气储层》赵永胜等著 1996
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019