PHP设计模式入门之二:单例模式


今天是大年初二,先在此祝大家新年快乐!或者,应该说:码年快乐啊!:)
晚上闲着没事,就想着来写这篇博客~

好吧,其实我上一篇的PHP设计模式入门之一:观察者模式 我说了个小谎,设计模式里面应该说“单例模式”是最简单的……

单例模式:确保任何时候,某一个类只有一个实例化的对象,而且自行实例化并向整个系统全局地提供这个实例。

单例模式的定义和介绍、实现网上都说的很多了,这里就不多自述了。主要转载网上的一个博客

一般来说,单例模式要满足三个条件:
1. 需要一个保存类的唯一实例的静态成员变量

2. 构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义

3. 必须提供一个访问这个实例的公共的静态方法(通常为getInstance方法),从而返回唯一实例的一个引用

实现代码:



PS:代码中的关键就是getInstance方法。其中,instanceof
是php5为面向对象引入的php中唯一的类型运算符。
instanceof用来检测一个给定的对象是否属于(继承于)某个类(class)、某个类的子类、某个接口(interface)。如果是则返回true。


世界不可能那么远