美文网首页
php设计模式-单例模式

php设计模式-单例模式

作者: destiny96 | 来源:发表于2018-08-06 17:52 被阅读0次
    // ::操作符只能访问静态变量和静态函数
    // new对象都会消耗内存
    // 使用场景:最常用的地方是数据库连接。
    // 使用单例模式生成一个对象后, 该对象可以被其它众多对象所使用。
    class Instance{
        // $_instance必须声明为静态的私有变量
        private static $_instance;
        // 构造函数和析构函数必须声明为私有,防止外部程序new 类从而失去单例模式的意义
        private function __construct(){}
        // 私有的__clone()方法防止克隆对象
        final private function __clone(){}
        // 防止被反序列化
        final private function __wakeup(){}
        // getInstance()方法必须设置为公有的,必须调用此方法 以返回实例的一个引用   
        // instanceof 使用这个关键字可以确定一个对象是类的实例、类的子类,还是实现了某个特定接口,并进行相应的操作
        public static function getInstance(){
            if(!(self::$_instance instanceof self)){
                // new对象都会消耗内存
                self::$_instance = new self;
            }
            return self::$_instance;
        }
        
        public function test1(){
            echo "单例模式";
        }   
        public function test2(){
            echo "19940906";
        }
    }
    // 调用
    $single = Instance::getInstance();
    $single->test1();
    $single->test2();
    

    相关文章

      网友评论

          本文标题:php设计模式-单例模式

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