欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP开发模式之-单例模式

程序员文章站 2022-03-18 16:36:21
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Db{ private function __construct(){} private static $instance; public static function getInstance(){ i ......
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class  Db{
private function __construct(){}
private static $instance;
public static function getInstance(){
if(!self::$instance instanceof Db){
self::$instance new self();
}
return self::$instance;
}
private function __clone(){}
}
$db1= Db::getInstance();
$db2= Db::getInstance();
$db3= Db::getInstance();
var_dump($db1);
var_dump($db2);
var_dump($db3);

单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的。
所有的单例模式至少拥有以下三种公共元素:
1. 它们必须拥有一个构造函数,并且必须被标记为private
2. 它们拥有一个保存类的实例的静态成员变量
3. 它们拥有一个访问这个实例的公共的静态方法
单例类不能再其它类中直接实例化,只能被其自身实例化。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。