图书介绍
图灵程序设计丛书 深入PHP 面向对象、模式与实践 第5版PDF|Epub|txt|kindle电子书版本网盘下载
- 杨文轩译;温雪责任编辑;(英)马特·赞德斯彻 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115512338
- 出版时间:2019
- 标注页数:510页
- 文件大小:137MB
- 文件页数:526页
- 主题词:PHP语言-程序设计
PDF下载
下载说明
图灵程序设计丛书 深入PHP 面向对象、模式与实践 第5版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 对象2
第1章 PHP:设计和管理2
1.1问题2
1.2PHP与其他语言3
1.3关于本书5
1.3.1对象5
1.3.2模式6
1.3.3实践6
1.3.4第5版新增内容7
1.4小结8
第2章 PHP和对象9
2.1PHP对象的偶然成功9
2.1.1起源:PHP/FI9
2.1.2语法糖:PHP39
2.1.3一场静悄悄的革命:PHP410
2.1.4拥抱变化:PHP511
2.1.5迎头追赶:PHP712
2.2拥护和顾虑:关于对象的争辩12
2.3小结13
第3章 对象基础14
3.1类和对象14
3.1.1第一个类14
3.1.2一个(或两个)对象15
3.2设置类中的属性16
3.3使用方法18
3.4参数和类型21
3.4.1基本类型21
3.4.2接受提示:对象类型24
3.5继承28
3.5.1继承问题28
3.5.2使用继承33
3.5.3public、private和protected:管理类的访问38
3.6小结43
第4章 高级特性44
4.1静态方法和属性44
4.2常量属性47
4.3抽象类48
4.4接口50
4.5trait52
4.5.1trait可以解决的问题52
4.5.2定义和使用trait53
4.5.3使用多个trait54
4.5.4组合使用trait与接口55
4.5.5通过insteadof管理方法名冲突56
4.5.6使用别名重写trait的方法57
4.5.7在trait中使用静态方法58
4.5.8访问宿主类的属性59
4.5.9在trait中定义抽象方法59
4.5.10改变trait中方法的访问权限60
4.6延迟静态绑定:static关键字61
4.7错误处理65
4.8final类和方法73
4.9内部错误类74
4.10使用拦截器75
4.11定义析构方法81
4.12使用_clone()复制对象82
4.13定义对象的字符串值85
4.14回调、匿名函数和闭包86
4.15匿名类90
4.16小结92
第5章 对象工具93
5.1PHP和包93
5.1.1PHP包和命名空间93
5.1.2自动加载101
5.2类函数和对象函数105
5.2.1查找类106
5.2.2检查对象或类106
5.2.3得到指向类的完全限定的字符串引用107
5.2.4检查方法108
5.2.5检查类属性110
5.2.6检查继承110
5.2.7方法调用111
5.3反射API112
5.3.1入门112
5.3.2是时候大干一场了113
5.3.3检查类115
5.3.4检查方法117
5.3.5检查方法参数118
5.3.6使用反射API120
5.4小结123
第6章 对象与设计124
6.1定义代码设计124
6.2面向对象编程与面向过程编程125
6.2.1职责129
6.2.2内聚129
6.2.3耦合129
6.2.4正交129
6.3选择类130
6.4多态131
6.5封装132
6.6忘记细节133
6.7四个方向标133
6.7.1代码重复134
6.7.2类知道太多134
6.7.3万能的类134
6.7.4条件语句134
6.8UML134
6.8.1类图135
6.8.2序列图140
6.9小结142
第二部分 模式144
第7章 什么是设计模式,为什么要使用设计模式144
7.1什么是设计模式144
7.2设计模式概要146
7.2.1名称146
7.2.2问题146
7.2.3解决方案147
7.2.4效果147
7.3《设计模式》的格式147
7.4为什么使用设计模式148
7.4.1设计模式定义了问题148
7.4.2设计模式定义了解决方案148
7.4.3设计模式与编程语言无关148
7.4.4模式定义了一组词汇148
7.4.5模式是经过测试的149
7.4.6模式为协作而设计149
7.4.7设计模式促进优秀设计149
7.4.8流行的框架都使用了设计模式150
7.5PHP与设计模式150
7.6小结150
第8章 一些模式原则151
8.1模式的启示151
8.2组合与继承152
8.2.1问题152
8.2.2使用组合155
8.3解耦157
8.3.1问题157
8.3.2解耦159
8.4针对接口编程,而不是针对实现编程161
8.5概念在变化162
8.6不要盲从模式162
8.7模式163
8.7.1用于生成对象的模式163
8.7.2用于组织对象和类的模式163
8.7.3面向任务的模式163
8.7.4企业设计模式163
8.7.5数据库模式163
8.8小结163
第9章 生成对象164
9.1生成对象的问题和解决方案164
9.2单例模式168
9.2.1问题169
9.2.2实现169
9.2.3效果171
9.3工厂方法模式172
9.3.1问题172
9.3.2实现175
9.3.3效果177
9.4抽象工厂模式177
9.4.1问题177
9.4.2实现178
9.4.3效果180
9.5原型模式181
9.5.1问题182
9.5.2实现183
9.6推向边缘:服务定位器186
9.7完全隔离:依赖注入187
9.7.1问题187
9.7.2实现188
9.7.3效果191
9.8小结191
第10章 使面向对象编程更加灵活的模式192
10.1构造可灵活创建对象的类192
10.2组合模式192
10.2.1问题193
10.2.2实现195
10.2.3效果199
10.2.4组合模式小结202
10.3装饰器模式202
10.3.1问题202
10.3.2实现205
10.3.3效果209
10.4外观模式209
10.4.1问题209
10.4.2实现211
10.4.3效果211
10.5小结212
第11章 执行及描述任务213
11.1解释器模式213
11.1.1问题213
11.1.2实现214
11.1.3解释器模式的问题222
11.2策略模式222
11.2.1问题222
11.2.2实现223
11.3观察者模式227
11.4访问者模式235
11.4.1问题235
11.4.2实现236
11.4.3访问者模式的问题241
11.5命令模式242
11.5.1问题242
11.5.2实现242
11.6空对象模式247
11.6.1问题247
11.6.2实现249
11.7小结251
第12章 企业设计模式252
12.1架构概述252
12.1.1模式252
12.1.2应用与分层253
12.2企业架构外的基础模式255
12.2.1注册表255
12.2.2实现256
12.2.3效果260
12.3表示层260
12.3.1前端控制器261
12.3.2应用控制器271
12.3.3页面控制器283
12.3.4模板视图和视图助手288
12.4业务逻辑层291
12.4.1事务脚本291
12.4.2领域模型295
12.5小结298
第13章 数据库设计模式299
13.1数据层299
13.2数据映射器299
13.2.1问题300
13.2.2实现300
13.2.3效果313
13.3标识映射315
13.3.1问题315
13.3.2实现315
13.3.3效果318
13.4工作单元319
13.4.1问题319
13.4.2实现319
13.4.3效果323
13.5延迟加载323
13.5.1问题323
13.5.2实现324
13.5.3效果326
13.6领域对象工厂326
13.6.1问题326
13.6.2实现326
13.6.3效果327
13.7标识对象329
13.7.1问题329
13.7.2实现330
13.7.3效果335
13.8选择工厂与更新工厂模式335
13.8.1问题336
13.8.2实现336
13.8.3效果340
13.9现在映射器中还剩下什么340
13.10小结342
第三部分 实践346
第14章 优秀(以及糟糕)的实践346
14.1超越代码346
14.2借轮子347
14.3合作愉快348
14.4为代码插上翅膀349
14.5标准350
14.6Vagrant350
14.7测试351
14.8持续集成351
14.9小结352
第15章 PHP标准353
15.1为什么需要标准353
15.2什么是PSR354
15.2.1为什么选择PSR354
15.2.2哪些人需要PSR355
15.3编码风格355
15.3.1PSR-1基础编码规范356
15.3.2PSR-2编码风格规范358
15.3.3检查和修改代码360
15.4PSR-4自动加载规范362
15.5小结365
第16章 通过Composer使用和创建组件366
16.1什么是Composer366
16.2安装Composer367
16.3安装一个(组)包367
16.3.1通过命令行安装包368
16.3.2版本368
16.3.3require-dev元素369
16.4Composer与自动加载370
16.5创建自己的包371
16.5.1添加包信息371
16.5.2平台软件包372
16.6通过Packagist分发包373
16.7私有包376
16.8小结377
第17章 用Git进行版本控制378
17.1为什么进行版本控制378
17.2安装Git379
17.3使用在线Git代码库380
17.4配置Git服务器382
17.5启动项目384
17.6更新与提交387
17.7文件和目录的添加与移除390
17.7.1添加文件390
17.7.2删除文件390
17.7.3添加目录391
17.7.4删除目录391
17.8标记一次发布392
17.9创建分支393
17.10小结398
第18章 使用PHPUnit进行测试399
18.1功能测试与单元测试399
18.2手动测试400
18.3引入PHPUnit402
18.3.1创建测试用例402
18.3.2断言方法405
18.3.3测试异常406
18.3.4运行测试套件407
18.3.5约束407
18.3.6mock和stub409
18.3.7失败是成功之母412
18.4编写Web测试415
18.4.1为测试重构Web应用415
18.4.2简单的Web测试417
18.4.3引入Selenium419
18.5警告424
18.6小结426
第19章 使用Phing进行自动化构建427
19.1Phing是什么427
19.2获取和安装Phing428
19.3编写构建文档428
19.3.1目标430
19.3.2属性432
19.3.3类型438
19.3.4任务443
19.4小结446
第20章 Vagrant447
20.1问题447
20.2设置448
20.3挂载本地目录到Vagrant镜像450
20.4配置451
20.4.1设置Web服务器452
20.4.2设置MySQL452
20.4.3配置主机名453
20.5结束语455
20.6小结455
第21章 持续集成456
21.1什么是持续集成456
21.1.1准备一个持续集成项目458
21.1.2安装Jenkins插件467
21.1.3设置Git公钥468
21.1.4创建新项目469
21.1.5运行第一次构建472
21.1.6配置报告472
21.1.7触发构建474
21.2小结476
第22章 对象、模式和实践477
22.1对象477
22.1.1选择478
22.1.2封装与委托478
22.1.3解耦478
22.1.4可复用性479
22.1.5美学479
22.2模式479
22.2.1模式给我们带来了什么480
22.2.2模式与设计原则480
22.3实践482
22.3.1测试482
22.3.2标准483
22.3.3版本控制483
22.3.4自动构建483
22.3.5持续集成484
22.3.6我们遗漏了什么484
22.4小结485
附录A 参考文献486
附录B 一个简单的解析器488