读《深入PHP 面向对象、模式与实践》笔记
1. include() 和require() 语句的不同在于它们如何处理错误。使用require()调用文件发生错误时,将会停止整个程序;调用include()时遇到相同的错误,则会生成警告并停止执行包含文件,跳出调用代码然后继续执行。require()和require_once()用于包含库文件时更加安全,而include()和include_once()则适用于加载模板这样的操作。
2. 多态或称"类切换"是面向对象系统的基本特性之一。多态是指在一个公用接口后面维护多个实现。要特别注意的是多态并没有消除条件语句。想ParamHandler::getInstance()在这样的方法,经常通过switch或if语句决定返回的对象,但多态可以把条件代码集中在一个地方。
就想我们看到的那样,PHP强制接口由抽象类定义。这非常有用,因为我们可以确定子类将会实现抽象父类中定义的所有方法,包括类类型提示和方法的访问控制。客户端代码因此可以使用一个公共父类的任意子类而不需要改写代码(只要客户端代码仅依赖于父类中定义的功能)。这个规则唯一的遗憾是:无法强制规定类方法返回的数据类型。
3.简单来说, 封装就是对客户端 代码隐藏数据和功能。封装也是面向对象的重要概念之一。
4. 在设计阶段,让大脑空白一段时间会给你带来意想不到的好处。请清空脑海中这些和细节相关的念头。
5. “四人组”在《设计模式》一书中用一句话总结了这个规则-"为接口而不是实现而编程"(Program to an interface,not a implementation).这是一句值得摘录到你的笔记本的话。
6. Martin Fowler著的《企业应用架构测试》及Alur 等人著的《J2EE核心模式》。如果你认为本章(第12章)有用的话,我推荐你也深入学习这两本书。即使你不懂Java,作为一个面向对象的PHP程序员,你也可以从中找到合适的例子来学习。
从12章开始,快速浏览了一遍,2017-05-11 21:30分看完。
读《深入PHP 面向对象、模式与实践》笔记的更多相关文章
- [已读]HTML5与CSS3权威指南第二版(下)
去年下半年前公司给买的(老付对我们确实蛮好的),一人挑一本,我当时一定是秀逗了.看的时候就发现,这本书的内容过时严重,即便它是新出不久的第.二.版.其他没什么说的,总之,不推荐看.
- Html5与CSS3权威指南 百度云下载
Html5与CSS3权威指南 百度云下载 链接:http://pan.baidu.com/s/1hq6Dlvm 密码:php3
- HTML5与CSS3权威指南之CSS3学习记录
title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...
- 【HTML5 4】《HTML5与CSS3权威指南》 step1 导读
一.教程重点:以 HTML5和CSS3的新功能和新特性 为导向,辅之以 实战型实例页面 二.内容概况: 第1部分:详细讲解HTML5相关知识,包括 各主流浏览器对HTML5的支持情况. HTML5与H ...
- 读《HTML5与CSS3权威指南(上册)》笔记
第二章 1.内容类型:“text/html”.DOCTYPE声明:<!DOCTYPE html>.指定字符编码:<meta charset="utf-8"> ...
- 《HTML5与CSS3权威指南》读书笔记(上册)—HTML5篇
豆瓣上的评分少且评价不太好,阅读当中发现几处刊物上的小问题,不过线下口碑貌似不错,基本上人手一本 上册五百多页,主讲H5,分为标签,本地存储,离线应用程序,新的API,获取地理位置信息标签包含表单,C ...
- 《HTML5与CSS3权威指南》读书笔记(下册)—CSS3篇
大而全的CSS3 API类型书,并带有一些实用案例讲解,层次分明分类明确,新增技术都做了详情介绍.个人觉得如果在细节和文字表达上再下些功夫会更出色,其中部分内容如:rem.Media Queries网 ...
- HTML5与CSS3权威指南笔记案例1
第1章 <!DOCTYPE html> <meta charset = "UTF-8"> <title> Search </title&g ...
- html5+css3 权威指南阅读笔记(三)---表单及其它新增和改良元素
一.新增元素及属性 1.表单内元素的form属性. html5: <form id="testForm"> <input type=text> </f ...
- HTML5与CSS3权威指南.pdf6
第11章 获取地理位置信息 HTML5为window.navigator对象新增了一个geolocation属性 取得当前地理位置 void getCurrentPosition(onSuccess, ...
随机推荐
- 如何将Canvas中内容保存为图片
Bitmap bm = Bitmap.createBitmap(320, 480, Config.ARGB_8888); Canvas canvas = new Canvas(bm); Paint p ...
- (转)JAVA国际化
转:http://www.cnblogs.com/jjtech/archive/2011/02/14/1954291.html 国际化英文单词为:Internationalization,又称I18N ...
- Spring-Security (学习记录三)--读取数据库中的用户和角色
目录 1.先将hibernate的环境整合进来 2.创建一个数据库security,执行security.sql 3.修改spring-security.xml,采用数据库的方式读取用户跟角色 4.u ...
- TCP之1460MSS和1448负载
TCP和1448 1448字节是实际场景下,单个TCP包的实际运载能力.也就是说,实际场景下,上层调用send(1000KB),下层会把这1000KB封装成多个TCP包进行发送.单个TCP包每次打包1 ...
- Array类型中的检测数组,转换方法,栈方法,队列方法
我的新博客==> http://www.suanliutudousi.com/2017/08/24/array%E7%B1%BB%E5%9E%8B%E4%B8%AD%E7%9A%84%E6%A3 ...
- 2.2_springboot2.x消息RabbitMQ整合&amqpAdmin管理组件的使用
5.1.1.基本测试 1.引 spring-boot-starter-amqp** <dependencies> <dependency> <groupId>org ...
- Python骚操作(一)
1. 交换变量值 2. 将列表中所有元素组合成字符串 3. 查找列表中频率最高的值 4. 检查连个字符串是不是由相同字母不同顺序组成 5. 反转字符串 6. 反转列表 7. 转置二维数组 8. 链式比 ...
- C++之数据类型--整形&sizeof关键字
数据类型: C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存 整型 **作用**:整型变量表示的是==整数类型==的数据 C++中能够表示整型的类型有以下几种方式 ...
- Nginx配置web服务
Nginx配置虚拟主机 虚拟主机概述 所谓虚拟主机,在web服务里就是一个独立的网站站点,这个站点对应独立的域名(也可以是IP或者端口),具有独立的程序及资源目录,可以独立的对外提供服务,继而给用户访 ...
- EXE 和 SYS 信息交互
操了,分发函数少发一个,让我白调了两个多小时.