单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
class test { //保存类实例的私有静态成员变量 private static $_instance; //定义一个私有的构造函数,确保单例类不能通过new关键字实例化,只能被其自身实例化 private function __construct() { echo 'test __construct'; } //定义私有的__clone()方法,确保单例类不能被复制或克隆 private function __clone() {} public static function getInstance() { //检测类是否被实例化 if ( ! (self::$_instance instanceof self) ) { self::$_instance = new test(); } return self::$_instance; } } //调用单例类 test::getInstance();