Skip to content

PHP练习生

农工商实习两年半的PHP练习生

PHP 单例模式

PHP中的单例模式

单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。

要点

  • 一个类只能有一个对象;
  • 必须是自行创建这个类的对象;
  • 要想整个系统提供这一个对象;

实现角度

  • 私有静态属性,又来储存生成的唯一对象
  • 私有构造函数
  • 私有克隆函数,防止克隆__clone
  • 公共静态方法,用来访问静态属性储存的对象,如果没有对象,则生成此单例
简单示例:
class SingleInstance{

    private function _construct(){

    }

    private static $instance;

    private function _clone(){

    }
    public static function getInstance(){
        if(!self::$instance instanceof SingleInstance){
            self::$instance=new SingleInstance();
        }
        return self ::$instance;
    }

}

单例模式优点

  • 单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。
  • 因为类控制了实例化过程,所以类可以灵活更改实例化过程。
Avatar

我是农工商实习两年半的PHP练习生,我喜欢唱跳Rap,和篮球。。。

隐藏
变装