/**
* 设计模式
* 单例模式 别名 单态模式
* 单例模式就是类只能被实例化一次
*/
class Test
{
private static $_instance = null;//实例化属性
private function __construct()//私有化构造方法
{
}
private function __clone()//私有化魔术方法
{
}
static function getInstance()//实例化调用方法
{
if(!(self::$_instance instanceof self))//使用instanceof判断$_instance是否是当前类的一个实例
{
self::$_instance = new self();
}
return self::$_instance;
}
}
$test1 = Test::getInstance();//这是调用这个实例对象就不能用new,而是使用类里面的getInstanse方法
$test2 = Test::getInstance();
$test3 = Test::getInstance();
$test4 = Test::getInstance();
var_dump($test1);
var_dump($test2);
var_dump($test3);
var_dump($test4);
//我们可以看到四次输出都是被实例化了一次的对象,这就是单例模式也叫单态模式