美文网首页
创建型模式:单例模式(Singleton design patt

创建型模式:单例模式(Singleton design patt

作者: lifefruity | 来源:发表于2020-11-02 12:36 被阅读0次

    比如在用pdo连接数据库的时候,可以用单例模式,那么就可以不需要一直new PDO了,减少资源使用

    <?php
    
    class Single {
        private $name;//声明一个私有的实例变量
    
        private function __construct(){//声明私有构造方法为了防止外部代码使用new来创建对象。
    
        }
    
        static public $instance;//声明一个静态变量(保存在类中唯一的一个实例)
    
        static public function getinstance(){//声明一个getinstance()静态方法,用于检测是否有实例对象
            if(!self::$instance) {
                self::$instance = new self();
            }
            return self::$instance;
        }
    
        public function setname($n){ 
            $this->name = $n; 
        }
    
        public function getname(){
            return $this->name; 
        }
    
    }
    
    $oa = Single::getinstance();
    $ob = Single::getinstance();
    
    $oa->setname('aaa');
    $ob->setname('bbb');
    
    echo $oa === $ob ? 1 : 0;//1,验证是同一个
    echo $oa->getname();//bbb
    echo $ob->getname();//bbb
    

    相关文章

      网友评论

          本文标题:创建型模式:单例模式(Singleton design patt

          本文链接:https://www.haomeiwen.com/subject/zrfmvktx.html