<?php 

/*
单态设计模式(单例,单件)
在当前脚本中只产生一个该类对象,在同一个脚本中,一个类只能有一个实例化对象存在

1,阻止在类的外部使用new关键字类实例化对象
将构造方法私有化
2,在类的内部声明方法创建一个对象给你
声明静态方法 创建对象
3,把创建的对象存入一个位置,存档 依据
声明静态成员属性存放对象 在静态方法中去判断是否有对象 */
class Demo
{
//声明静态成员属性存放对象
static public $obj = null;
//将构造方法私有化
private function __construct()
{
echo '你实例化了一个对象<br>';
} //声明静态方法 创建对象
static public function getObj()
{
//判断
if(self::$obj == null){
self::$obj = new Demo();
}
return self::$obj;
} //其它方法 操作 ...
}
$a = Demo::getObj();
$b = Demo::getObj();
$c = Demo::getObj();
$d = Demo::getObj();
// $a = new Demo();
// $b = new Demo(); var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
 ?>