定义:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
//php的单例模式
//要用静态属性
//
class Test
{
private static $_instance = null;
public static function getInstance()
{
//判断$_instance是否是当前类的实例对象,如果不是则新创建一个实例赋值给$_instance,否则代表为当前类的对象实例,直接返回。
//使用静态方法或者属性可以用 self::属性名、self::方法名();
//instanceof关键字可以看:1.实例对象是否属于类 2.实例对象是否属于类的子类 3.是否属于接口
if (!(Test::$_instance instanceof Test)) {
//self::$_instance = new self();
Test::$_instance = new Test();
}
return Test::$_instance;
}
}
$res1 = Test::getInstance();
$res2 = Test::getInstance();
$res3 = Test::getInstance();
var_dump($res1);
var_dump($res2);
var_dump($res3);
这样就实现了单例模式啦,是不是很简单呢?