php详细教程
一、书籍简介
作者: [美] Matt Zandstra出版社: 人民邮电出版社原作名: PHP Objects, Patterns and Practice译者: 陈浩 / 吴孙滨 / PHP胡丹 / 李静出版年: 2011-7
页数: 450装帧: 平装丛书:图灵程序设计丛书·Web开发系列ISBN: 9787115256249二、获取方式转发本文,私信发送:0117,获取下载链接;三、书PHP籍目录第一部分 介 绍第1 章 PHP:设计与管理 2
1.1 问题 21.2 PHP 和其他语言 31.3 关于本书 51.3.1 对象 51.3.2 模式 51.3.3 实践 6PHP1.3.4 第3 版新增内容 71.4 小结 7第二部分 对 象
第2 章 PHP 与对象 102.1 PHP 对象的偶然成功 102.1.1 最初:PHP/FI 102.1.2 语法糖PHP:PHP 3 102.1.3 一场静悄悄的革命:PHP 4 112.1.4 拥抱改变:PHP 5 12
2.2 走向未来:PHP 6 132.3 拥护和疑虑:关于对象的争辩 132.4 PHP小结 14第3 章 对象基础 153.1 类和对象 153.1.1 编写第一个类 153.1.2 第一个对象(或两个) 16
3.2 设置类中的属性 173.3 使用方法 193PHP.4 参数和类型 213.4.1 基本类型 223.4.2 获得提示:对象类型 243.5 继承 263.5.1 继承问题 263.5.2 使用继承 30
3.5.3 public、priPHPvate、protected:管理类的访问 353.6 小结 39第4 章 高级特性 404.1 静态方法和属性 404.2 常量属性 434.3 抽象类 44
4.4 接口 464PHP.5 延迟静态绑定:static 关键字 474.6 错误处理 504.7 Final 类和方法 564.8 使用拦截器 574.9 析构方法 614.10 使用__clone()复制对PHP象 62
4.11 定义对象的字符串值 644.12 回调、匿名函数和闭包 654.13 小结 69第5 章 对象工具 705.1 PHP 和包 705.1.1 PHP 包和命名空间 PHP 705.1.2 自动加载 78
5.2 类函数和对象函数 795.2.1 查找类 805.2.2 了解对象或类 815.2.3 了解类中的方法 825.2.4 了解类属性 835.2.PHP5 了解继承 835.2.6 方法调用 84
5.3 反射API 855.3.1 入门 855.3.2 开始行动 865.3.3 检查类 885.3.4 检查方法 895.3.5 检查方PHP法参数 915.3.6 使用反射API 92
5.4 小结 95第6 章 对象与设计 966.1 代码设计的定义 966.2 面向对象设计和过程式编程 976.2.1 职责 100PHP6.2.2 内聚 1006.2.3 耦合 1016.2.4 正交 101
6.3 选择类 1016.4 多态 1026.5 封装 1046.6 忘记细节 1056.7 4 个方向标PHP 1056.7.1 代码重复 1066.7.2 类知道的太多 1066.7.3 万能的类 106
6.7.4 条件语句 1066.8 UML 1066.8.1 类图 1076.8.2PHP 时序图 1116.9 小结 112第三部分 模 式第7 章 什么是设计模式?为何使用它们 114
7.1 什么是设计模式 1147.2 设计模式概览 1167.2.1 命名 1167.PHP2.2 问题 1167.2.3 解决方案 1177.2.4 效果 1177.3 《设计模式》格式 117
7.4 为什么使用设计模式 1187.4.1 一个设计模式定义了一个问题 118PHP7.4.2 一个设计模式定义了一个解决方案 1187.4.3 设计模式是语言无关的 1187.4.4 模式定义了一组词汇 118
7.4.5 模式是经过测试的 1197.4.6 模式是为协PHP作而设计的 1197.4.7 设计模式促进良好设计 1197.5 PHP 与设计模式 1207.6 小结 120第8 章 模式原则 121
8.1 模式的启示 1218.2 组合与继承 PHP 1228.2.1 问题 1228.2.2 使用组合 1248.3 解耦 1278.3.1 问题 1278.3.2 降低耦合 1288.4 针对接口编程,而不是针对实现编程 130
8.5 PHP变化的概念 1318.6 父子关系 1328.7 模式 1328.7.1 用于生成对象的模式 1338.7.2 用于组织对象和类的模式 1338.7.3 面向任务的模式 133
8.7PHP.4 企业模式 1338.7.5 数据库模式 1338.8 小结 133第9 章 生成对象 1349.1 生成对象的问题和解决方法 1349.2 单例模式 1389.2.1 问题 PHP 138
9.2.2 实现 1399.2.3 结果 1419.3 工厂方法模式 1419.3.1 问题 1419.3.2 实现 1439.3.3 结果 1459.4 抽象工厂模式 PHP1469.4.1 问题 146
9.4.2 实现 1479.4.3 结果 1489.4.4 原型模式 1509.4.5 问题 1509.4.6 实现 1519.5 某些模式的骗术 153PHP9.6 小结 154第10 章 让面向对象编程更加灵活的模式 155
10.1 构造可灵活创建对象的类 15510.2 组合模式 15510.2.1 问题 15610.2.2 实现 15PHP810.2.3 效果 16110.2.4 组合模式小结 16410.3 装饰模式 165
10.3.1 问题 16510.3.2 实现 16710.3.3 效果 17010.4 外观模式 PHP 17010.4.1 问题 17010.4.2 实现 17210.4.3 效果 17210.5 小结 173
第11 章 执行及描述任务 17411.1 解释器模式 17411.1.1 PHP问题 17411.1.2 实现 17511.1.3 解释器的问题 18211.2 策略模式 18311.2.1 问题 183
11.2.2 实现 18411.3 观察者模式 18711PHP.4 访问者模式 19411.4.1 问题 19411.4.2 实现 19511.4.3 访问者模式的问题 19911.5 命令模式 200
11.5.1 问题 20011.5.2 实现 PHP 20011.6 小结 204第12 章 企业模式 20512.1 架构概述 20512.1.1 模式 20512.1.2 应用程序和层 206
12.2 企业架构之外的基础模式 PHP 20812.2.1 注册表 20812.2.2 实现 20912.3 表现层 21712.3.1 前端控制器 21712.3.2 应用控制器 22712.3.3 页面控制器 237
1PHP2.3.4 模板视图和视图助手 24212.4 业务逻辑层 24512.4.1 事务脚本 24512.4.2 领域模型 24912.5 小结 252第13 章 数据库模式 25313.PHP1 数据层 253
13.2 数据映射器 25313.2.1 问题 25413.2.2 实现 25413.2.3 效果 26513.3 标识映射 26613.3.1 问题 26613.PHP3.2 实现 26613.3.3 效果 269
13.4 工作单元 26913.4.1 问题 26913.4.2 实现 27013.4.3 效果 27413.4.4 延迟加载 274PHP13.4.5 问题 27413.4.6 实现 274
13.4.7 效果 27613.5 领域对象工厂 27613.5.1 问题 27613.5.2 实现 27713.5.3 效果 27PHP813.6 标识对象 27913.6.1 问题 27913.6.2 实现 280
13.6.3 效果 28513.7 选择工厂和更新工厂模式 28513.7.1 问题 28513.7.PHP2 实现 28513.7.3 效果 28813.8 数据映射器中剩下些什么 289
13.9 小结 291第四部分 实 践第14 章 良好和糟糕的实践 29414.1 超越代码 2941PHP4.2 借一个轮子 29514.3 合作愉快 29614.4 为你的代码插上双翼 297
14.5 文档 29714.6 测试 29814.7 持续集成 29914.8 小结 PHP 300第15 章 PEAR 和Pyrus 30115.1 什么是PEAR 30115.2 了解Pyrus 302
15.3 安装PEAR 包 30315.4 使用PEAR 包 3PHP0615.5 创建自己的PEAR 包 31115.5.1 package.xml 31115.5.2 package.xml 的组成 312
15.5.3 contents 元素 31PHP315.5.4 依赖 31615.5.5 使用phprelease 进行灵活的自定义安装 31715.5.6 准备发布包 31815.5.7 创建自己的PEAR 频道 318
15.6 PHP小结 323第16 章 用phpDocumentor 生成文档 32416.1 为什么要使用文档 32416.2 安装 32516.3 生成文档 32516.4 DocBlock 注PHP释 327
16.5 类的文档 32816.6 文件的文档 33016.7 属性的文档 33016.8 方法的文档 33116.9 在文档中创建链接 33316.10 小结PHP 335第17 章 使用Subversion 进行版本控制 336
17.1 为什么要使用版本控制 33617.2 获得Subversion 33717.3 配置Subversion 代码库PHP 33817.4 开始项目 33917.5 更新和提交 341
17.6 增加和删除文件及目录 34417.6.1 添加文件 34417.6.2 删除文件 34517.6.3 添加目PHP录 34517.6.4 删除目录 34517.7 标记和导出项目 345
17.7.1 标记项目 34517.7.2 导出项目 34617.8 创建项目分支 34717.9 小结 35PHP0第18 章 使用PHPUnit 进行测试 35118.1 功能测试与单元测试 351
18.2 手工测试 35218.3 引入PHPUnit 35418.3.1 创建测试用例 3541PHP8.3.2 断言方法 35518.3.3 测试异常 35618.3.4 运行测试套件 357
18.3.5 约束 35818.3.6 模拟与桩 36018.3.7 失败是成功之母 362PHP18.4 编写Web 测试 36518.4.1 为测试重构Web 应用 36618.4.2 简单的Web 测试 368
18.4.3 Selenium 37018.5 警告 3741PHP8.6 小结 376第19 章 用Phing 实现项目的自动构建 37719.1 什么是Phing 37719.2 获取和安装Phing 378
19.3 编写build 文档 3PHP7819.3.1 目标 38019.3.2 属性 38219.3.3 类型 38719.3.4 任务 39119.4 小结 394第五部分 结 论
第20 章 持续集成 3962PHP0.1 什么是持续集成 39620.2 CruiseControl 和phpUnderControl 40420.2.1 安装CruiseControl 404
20.2.2 安装phpUndePHPrControl 40620.2.3 安装项目 40820.3 小结 418第21 章 对象、模式与实践 41921.1 对象 41921.1.1 选择 420
21.1.2 封装和委PHP托 42021.1.3 解耦 42021.1.4 复用性 42121.1.5 美学 42121.2 模式 42121.2.1 模式给我们带来了什么 42221.2.2 模式和设计原则PHP 422
21.3 实践 42421.3.1 测试 42421.3.2 文档 42421.3.3 版本控制 42521.3.4 自动构建 42521.3.5 持续集成 42521.PHP3.6 我们还遗漏了什么 425
21.4 小结 426第六部分 附 录附录A 参考文献 428附录B 简单的解析器 431
亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,PHP请随时联系我。我非常乐意与您交流。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。