/** * 设计模式 * 单例模式 别名 单态模式 * 单例模式就是类只能被实例化一次 */ 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); //我们可以看到四次输出都是被实例化了一次的对象,这就是单例模式也叫单态模式