深入PHP 面向对象、模式与实践(第3版) 读书笔记

深入PHP:面向对象、模式与实践(第3版) 读书笔记

此书的读书笔记,蓝文只是粗略地记录下,因为很多都已经很熟悉,所以如果想仔细学习此书的小伙伴,可以从网上下载PDF版,或者买一本回家看看,个人觉得还是不错的,对进一步提高PHP的学习有一定的帮助。

第1 章 PHP:设计与管理

此书的基本介绍,没有什么可记录的

第2 章 PHP 与对象

PHP与对象的基本介绍,没有什么可记录的

第3 章 对象基础

此章介绍了对象的基础,包括类与对象的区别,类的属性,方法,继承等使用
还介绍了类的访问public、private、protected权限

第4 章 高级特性

此章介绍了对象和类高级属性

静态方法和属性:通过类而不是对象来访问数据和功能
抽象类和接口:设计和实现实现分离
错误处理:异常
Final类和方法:限制继承
使用拦截器:自动委托
析构方法:对象毁前的清理工作
使用__clone()复制对象
把对象解析成字符串:创建摘要型方法
回调、匿名函数和闭包

第5 章 对象工具

开发人员使用文件系统和命名模式将代码组织成类似于包的结构

PHP 包和命名空间
类函数和对象函数
反射API,一组强大的内置类,可以在代码运行时访问类信息

第6 章 对象与设计

代码设计的定义
面向对象设计和过程式编程:职责,内聚,耦合,正交,选择类,多态,封装

第7 章 什么是设计模式?为何使用它们

什么是设计模式,设计模式意味着智慧。
模式是特定环境下同类问题的一种解决方案
一个设计模式的核心有4部分组成:命名,问题,解决方案,效果

为什么使用设计模式:
一个设计模式定义了一个问题
一个设计模式定义了一个解决方案,可以解决共性问题
设计模式是语言无关的
模式定义了一组词汇
模式是经过测试的
模式是为协作而设计的
设计模式促进良好设计

第8 章 模式原则

组合:如何通过聚合对象来获得比只使用继承更好的灵活性。
解耦:如何降低系统中元素间的依赖性。
接口的作用:模式和多态。
模式分类:本书将介绍的模式类别。
针对接口编程,而不是针对实现编程
用于生成对象的模式
用于组织对象和类的模式
面向任务的模式
企业模式
数据库模式

第9 章 生成对象

单例(Singleton)模式:生存一个且只生成一个对象实例的特殊类。
工厂方法(Factory Method)模式:构建创建者类的继承层级。
抽象工厂(Abstract Factory)模式:功能相关产品的创建。
原型(Prototype)模式:使用克隆来生成对象。

第10 章 让面向对象编程更加灵活的模式

组合(Composite)模式:将一组对象组合为可像单个对象一样被使用的结构
装饰(Decorator)模式:通过在运行时合并对象来扩展功能的一种灵活机制
外观(Facade)模式:为复杂或多变的系统创建一个简单的接口

第11 章 执行及描述任务

解释器(Interpreter)模式:构造一个可以用于创建脚本化应用的迷你语言解释器
策略(Strategy)模式:在系统中定义算法并以他们自己的类型封装
观察者(Observe)模式:创建依赖关系,当有系统事件发生时通知观察者对象
访问者(Visitor)模式:在对象树的所有节点上应用操作
命令(Command)模式:创建可被保存和传送的命令对象

第12 章 企业模式

架构概述:企业应用程序分层。
注册模式:管理应用程序数据
表现层:管理和响应用户请求并把数据呈现给用户。
业务逻辑层:处理系统的真实任务–解决业务问题。

第13 章 数据库模式

数据层接口:定义存储层和其他部分之间的接口。
对象监听:跟踪对象,避免重复,自动保存和插入数据。
灵活查询:允许客户端程序员在构建查询时不考虑底层的数据库。
生成结果对象的列表:创建可迭代的数据集合。
管理数据库主键:让我们再次使用抽象工厂模式。

第14 章 良好和糟糕的实践

第三方包:如何获得它们及何时使用它们
构建:构建和部署包
版本控制:在开发过程中保持一致。
文档:编写易于理解,使用和扩展的代码。
单元测试:自动检测和预防bug的工具。
持续集成:利用这个实践和工具类来自动化项目构建和测试。并在出现问题时得到警告。

第15 章 PEAR 和Pyrus

本章很简单,主要介绍什么是PEAR,了解Pyrus,安装PEAR 包,使用PEAR 包,创建自己的PEAR 包,package.xml 的组成,contents 元素,使用phprelease 进行灵活的自定义安装,准备发布包,创建自己的PEAR 频道

第16 章 用phpDocumentor 生成文档

phpDocumentor程序:安装phpDocumentor并在命令行下运行。
文档语法:DocBlock注释和文档标签。
为代码编写文档:使用DocBlock来提供类属性和方法的相关信息。
创建文档中的链接:链接到网站和文档的其他元素。

第17 章 使用Subversion 进行版本控制

介绍了为什么要使用版本控制,Subversion安装使用

第18 章 使用PHPUnit 进行测试

在PHP程序员可采用的测试方案中,PHPUnit也许是最常用的。也是功能最全的单元测试工具
功能测试与单元测试,手工测试,引入PHPUnit,创建测试用例,断言方法,测试异常,运行测试套件,约束,模拟与桩,编写Web 测试,为测试重构Web 应用

第19 章 用Phing 实现项目的自动构建

什么是Phing
获取和安装Phing
编写build 文档

第五部分 结 论

第20 章 持续集成

什么是持续集成
CruiseControl 和phpUnderControl 404
安装CruiseControl
安装phpUnderControl

第21 章 对象、模式与实践

重塑本书的主体和要点。
PHP与对象:PHP如何不断增强对面向对象编程的支持剂如何使用这些特性。
对象与设计:总结一些面向对象设计原则。
模式:是什么让他们如此之酷
模式原则:概括许多设计模式背后的面向对象原则。
实用工具:重温之前提到的工具,并介绍一些之前没有涉及的工具。

发表评论