词条 | 深入PHP-面向对象、模式与实践-第3版 |
释义 | 基本信息作者: (美)Matt Zandstra 译者: 陈浩 吴孙滨 胡丹 李静 出版社:人民邮电出版社 ISBN:9787115256249 上架时间:2011-7-4 出版日期:2011 年7月 开本:16开 页码:1 版次:3-1 内容简介《深入php:面向对象、模式与实践:第3版》是php 专家经典力作的最新版本。书中主要介绍了如何使用面向对象技术和设计模式编写稳定的、可维护的代码,如何使用subversion 管理多个开发人员,如何使用phing 和pear 进行构建和安装,以及将构建和测试过程自动化的策略,包括持续集成。 《深入php:面向对象、模式与实践:第3版》适合中高级php 程序员阅读。 作者译本书提供作译者介绍 Matt Zandstra 从事互联网应用开发十余年,目前是雅虎公司工程师,从事核心模板管理系统的开发。他是一位多产的技术作家,除本书外另著有Sams Teach Yourself PHP in 24 Hours等,他还为Linux Magazine、php.. << 编辑推荐雅虎公司PHP专家力作 PHP模块化编程必读 完美结合面向对象思想 目录《深入php:面向对象、模式与实践:第3版》 第一部分 介 绍 第1 章 php:设计与管理 2 1.1 问题 2 1.2 php 和其他语言 3 1.3 关于本书 5 1.3.1 对象 5 1.3.2 模式 5 1.3.3 实践 6 1.3.4 第3 版新增内容 7 1.4 小结 7 第二部分 对 象 第2 章 php 与对象 10 2.1 php 对象的偶然成功 10 2.1.1 最初:php/fi 10 2.1.2 语法糖:php 3 10 2.1.3 一场静悄悄的革命:php 4 11 2.1.4 拥抱改变:php 5 12 2.2 走向未来:php 6 13 2.3 拥护和疑虑:关于对象的争辩 13 .2.4 小结 14 第3 章 对象基础 15 3.1 类和对象 15 3.1.1 编写第一个类 15 3.1.2 第一个对象(或两个) 16 3.2 设置类中的属性 17 3.3 使用方法 19 3.4 参数和类型 21 3.4.1 基本类型 22 3.4.2 获得提示:对象类型 24 3.5 继承 26 3.5.1 继承问题 26 3.5.2 使用继承 30 3.5.3 public、private、protected:管理类的访问 35 3.6 小结 39 第4 章 高级特性 40 4.1 静态方法和属性 40 4.2 常量属性 43 4.3 抽象类 44 4.4 接口 46 4.5 延迟静态绑定:static 关键字 47 4.6 错误处理 50 4.7 final 类和方法 56 4.8 使用拦截器 57 4.9 析构方法 61 4.10 使用__clone()复制对象 62 4.11 定义对象的字符串值 64 4.12 回调、匿名函数和闭包 65 4.13 小结 69 第5 章 对象工具 70 5.1 php 和包 70 5.1.1 php 包和命名空间 70 5.1.2 自动加载 78 5.2 类函数和对象函数 79 5.2.1 查找类 80 5.2.2 了解对象或类 81 5.2.3 了解类中的方法 82 5.2.4 了解类属性 83 5.2.5 了解继承 83 5.2.6 方法调用 84 5.3 反射api 85 5.3.1 入门 85 5.3.2 开始行动 86 5.3.3 检查类 88 5.3.4 检查方法 89 5.3.5 检查方法参数 91 5.3.6 使用反射api 92 5.4 小结 95 第6 章 对象与设计 96 6.1 代码设计的定义 96 6.2 面向对象设计和过程式编程 97 6.2.1 职责 100 6.2.2 内聚 100 6.2.3 耦合 101 6.2.4 正交 101 6.3 选择类 101 6.4 多态 102 6.5 封装 104 6.6 忘记细节 105 6.7 4 个方向标 105 6.7.1 代码重复 106 6.7.2 类知道的太多 106 6.7.3 万能的类 106 6.7.4 条件语句 106 6.8 uml 106 6.8.1 类图 107 6.8.2 时序图 111 6.9 小结 112 第三部分 模 式 第7 章 什么是设计模式?为何使用它们 114 7.1 什么是设计模式 114 7.2 设计模式概览 116 7.2.1 命名 116 7.2.2 问题 116 7.2.3 解决方案 117 7.2.4 效果 117 7.3 《设计模式》格式 117 7.4 为什么使用设计模式 118 7.4.1 一个设计模式定义了一个问题 118 7.4.2 一个设计模式定义了一个解决方案 118 7.4.3 设计模式是语言无关的 118 7.4.4 模式定义了一组词汇 118 7.4.5 模式是经过测试的 119 7.4.6 模式是为协作而设计的 119 7.4.7 设计模式促进良好设计 119 7.5 php 与设计模式 120 7.6 小结 120 第8 章 模式原则 121 8.1 模式的启示 121 8.2 组合与继承 122 8.2.1 问题 122 8.2.2 使用组合 124 8.3 解耦 127 8.3.1 问题 127 8.3.2 降低耦合 128 8.4 针对接口编程,而不是针对实现编程 130 8.5 变化的概念 131 8.6 父子关系 132 8.7 模式 132 8.7.1 用于生成对象的模式 133 8.7.2 用于组织对象和类的模式 133 8.7.3 面向任务的模式 133 8.7.4 企业模式 133 8.7.5 数据库模式 133 8.8 小结 133 第9 章 生成对象 134 9.1 生成对象的问题和解决方法 134 9.2 单例模式 138 9.2.1 问题 138 9.2.2 实现 139 9.2.3 结果 141 9.3 工厂方法模式 141 9.3.1 问题 141 9.3.2 实现 143 9.3.3 结果 145 9.4 抽象工厂模式 146 9.4.1 问题 146 9.4.2 实现 147 9.4.3 结果 148 9.4.4 原型模式 150 9.4.5 问题 150 9.4.6 实现 151 9.5 某些模式的骗术 153 9.6 小结 154 第10 章 让面向对象编程更加灵活的模式 155 10.1 构造可灵活创建对象的类 155 10.2 组合模式 155 10.2.1 问题 156 10.2.2 实现 158 10.2.3 效果 161 10.2.4 组合模式小结 164 10.3 装饰模式 165 10.3.1 问题 165 10.3.2 实现 167 10.3.3 效果 170 10.4 外观模式 170 10.4.1 问题 170 10.4.2 实现 172 10.4.3 效果 172 10.5 小结 173 第11 章 执行及描述任务 174 11.1 解释器模式 174 11.1.1 问题 174 11.1.2 实现 175 11.1.3 解释器的问题 182 11.2 策略模式 183 11.2.1 问题 183 11.2.2 实现 184 11.3 观察者模式 187 11.4 访问者模式 194 11.4.1 问题 194 11.4.2 实现 195 11.4.3 访问者模式的问题 199 11.5 命令模式 200 11.5.1 问题 200 11.5.2 实现 200 11.6 小结 204 第12 章 企业模式 205 12.1 架构概述 205 12.1.1 模式 205 12.1.2 应用程序和层 206 12.2 企业架构之外的基础模式 208 12.2.1 注册表 208 12.2.2 实现 209 12.3 表现层 217 12.3.1 前端控制器 217 12.3.2 应用控制器 227 12.3.3 页面控制器 237 12.3.4 模板视图和视图助手 242 12.4 业务逻辑层 245 12.4.1 事务脚本 245 12.4.2 领域模型 249 12.5 小结 252 第13 章 数据库模式 253 13.1 数据层 253 13.2 数据映射器 253 13.2.1 问题 254 13.2.2 实现 254 13.2.3 效果 265 13.3 标识映射 266 13.3.1 问题 266 13.3.2 实现 266 13.3.3 效果 269 13.4 工作单元 269 13.4.1 问题 269 13.4.2 实现 270 13.4.3 效果 274 13.4.4 延迟加载 274 13.4.5 问题 274 13.4.6 实现 274 13.4.7 效果 276 13.5 领域对象工厂 276 13.5.1 问题 276 13.5.2 实现 277 13.5.3 效果 278 13.6 标识对象 279 13.6.1 问题 279 13.6.2 实现 280 13.6.3 效果 285 13.7 选择工厂和更新工厂模式 285 13.7.1 问题 285 13.7.2 实现 285 13.7.3 效果 288 13.8 数据映射器中剩下些什么 289 13.9 小结 291 第四部分 实 践 第14 章 良好和糟糕的实践 294 14.1 超越代码 294 14.2 借一个轮子 295 14.3 合作愉快 296 14.4 为你的代码插上双翼 297 14.5 文档 297 14.6 测试 298 14.7 持续集成 299 14.8 小结 300 第15 章 pear 和pyrus 301 15.1 什么是pear 301 15.2 了解pyrus 302 15.3 安装pear 包 303 15.4 使用pear 包 306 15.5 创建自己的pear 包 311 15.5.1 package.xml 311 15.5.2 package.xml 的组成 312 15.5.3 contents 元素 313 15.5.4 依赖 316 15.5.5 使用phprelease 进行灵活的自定义安装 317 15.5.6 准备发布包 318 15.5.7 创建自己的pear 频道 318 15.6 小结 323 第16 章 用phpdocumentor 生成文档 324 16.1 为什么要使用文档 324 16.2 安装 325 16.3 生成文档 325 16.4 docblock 注释 327 16.5 类的文档 328 16.6 文件的文档 330 16.7 属性的文档 330 16.8 方法的文档 331 16.9 在文档中创建链接 333 16.10 小结 335 第17 章 使用subversion 进行版本控制 336 17.1 为什么要使用版本控制 336 17.2 获得subversion 337 17.3 配置subversion 代码库 338 17.4 开始项目 339 17.5 更新和提交 341 17.6 增加和删除文件及目录 344 17.6.1 添加文件 344 17.6.2 删除文件 345 17.6.3 添加目录 345 17.6.4 删除目录 345 17.7 标记和导出项目 345 17.7.1 标记项目 345 17.7.2 导出项目 346 17.8 创建项目分支 347 17.9 小结 350 第18 章 使用phpunit 进行测试 351 18.1 功能测试与单元测试 351 18.2 手工测试 352 18.3 引入phpunit 354 18.3.1 创建测试用例 354 18.3.2 断言方法 355 18.3.3 测试异常 356 18.3.4 运行测试套件 357 18.3.5 约束 358 18.3.6 模拟与桩 360 18.3.7 失败是成功之母 362 18.4 编写web 测试 365 18.4.1 为测试重构web 应用 366 18.4.2 简单的web 测试 368 18.4.3 selenium 370 18.5 警告 374 18.6 小结 376 第19 章 用phing 实现项目的自动构建 377 19.1 什么是phing 377 19.2 获取和安装phing 378 19.3 编写build 文档 378 19.3.1 目标 380 19.3.2 属性 382 19.3.3 类型 387 19.3.4 任务 391 19.4 小结 394 第五部分 结 论 第20 章 持续集成 396 20.1 什么是持续集成 396 20.2 cruisecontrol 和phpundercontrol 404 20.2.1 安装cruisecontrol 404 20.2.2 安装phpundercontrol 406 20.2.3 安装项目 408 20.3 小结 418 第21 章 对象、模式与实践 419 21.1 对象 419 21.1.1 选择 420 21.1.2 封装和委托 420 21.1.3 解耦 420 21.1.4 复用性 421 21.1.5 美学 421 21.2 模式 421 21.2.1 模式给我们带来了什么 422 21.2.2 模式和设计原则 422 21.3 实践 424 21.3.1 测试 424 21.3.2 文档 424 21.3.3 版本控制 425 21.3.4 自动构建 425 21.3.5 持续集成 425 21.3.6 我们还遗漏了什么 425 21.4 小结 426 第六部分 附 录 附录a 参考文献 428 附录b 简单的解析器 431 媒体评论“本书正是为PHP企业级开发人员和软件工程师量身打造的经典著作,每一位想提高技能的PHP开发人员都应阅读。” ——Ken Guest,爱尔兰PHP用户组主席,PEAR QA团队和PEAR组的成员 “这是我读过的PHP书中最好的一本,它介绍了面向对象编程的方方面面。我自学PHP已经5年了,遇到的大多数问题都能在这本书中找到答案。强烈推荐那些有一定PHP经验并想更上一层楼的程序员阅读。” |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。