<?php
1.什么是单例模式:一个类最多只能产生一个对象,如果希望在系统中某个类(链接数据库的类)的对象只能存在一个,单例模式是最好的解决方案。
2.单利模式的实现:三私一公
①私有化构造方法:防止实例化
②私有化克隆方法:防止克隆
③私有化静态属性:保存对象
④私有化静态方法:获取对象
3.代码实现
class Singleton{
private static $obj;//私有化静态属性
private function __construct(){
//私有化构造方法
}
private function __clone(){
//私有化克隆方法
}
//静态方法产生对象
static public function getInstance(){
//对象不存在new一个对象
if(!is_object(self::$obj)){
self::$obj = new Singleton();
}
return self::$obj;
}
}
4.测试单例模式
//无法实例化
$obj1 = new Singleton;
var_dump($obj1);
//成功获取对象
$obj2 = Singleton::getInstance();
var_dump($obj2);
//无法克隆
$obj3 = clone $obj2;
var_dump($obj3);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。