单例模式

<?php
class Singleton{
    //私有的静态属性 用于保存实例
    private static $instance  = null;
    //私有的构造方法
    private function __construct()
    {
        //echo "this is construct\n";
    }
    //共有的静态方法,用于获取实例
    public  static function getInstance(){
        if(!(self::$instance instanceof self))
        {
            self::$instance = new self();
        }
            return self::$instance;
    }
    //禁止被克隆
    private function __clone()
    {

    }
    //禁止被序列化
    private function __wakeup()
    {

    }
}

 -----------------------

单例模式(singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。

通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象,一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法

 

posted @ 2019-12-26 19:17  X__cicada  阅读(90)  评论(0编辑  收藏  举报