什么是单例模式
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
为什么使用单例模式呢
使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。
单例模式特点(三私一公):
(1)私有的静态属性 (保存类的实例)
(2)私有的构造方法 (防止类外实例化)
(3)私有的克隆方法 (防止通过克隆生成对象)
(4)公有的静态方法 (调取这个类相当一个接口 )
class Singleton { /** * 私有的静态属性 (保存类的实例) */ private static $_instance; /** * Singleton constructor. * 私有的构造方法(防止类外实例化) */ private function __construct() { } /** * 私有的克隆方法 (防止通过克隆生成对象) */ public function __clone() { } /* * 公有的静态方法 (调取这个类相当一个接口 ):单例访问统一入口 * */ public static function getInstance() { if (!(self::$_instance instanceof self)) { self::$_instance = new self(); } return self::$_instance; } }