• php设计模式——单例模式


      学习php这么久,虽然设计模式遇到不少,但是都没有深究,最近有时间准备研究下php的设计模式,我们就从“单例模式”开始。

      单例模式,顾名思义只有一个实例。单例模式确保某一个类只有一个实例,它不会创建实例副本,而是利用自身的方法自行实例化。首先我们看一个例子:

    class OpenStack{
        private static $instance = null; //注意一定要是静态私有变量private function __construct(){ //构造函数一定为私有,否则外部可以直接实例化该类
    
        }
    
        public static function getInstance(){ //该函数应为公有,保证外部可以直接调用,实例化本身;内部应判断该类实例是否存在,否则生成该实例
            if(self::$instance == null){
                self::$instance = new self();
            }
            return self::$instance;
        }
    }

      在这里我们可以看到,由于该OpenStack类的构造函数是私有的,所以这个类并不能在外部直接实例化,只能通过getInstance()这个共有的方法来操作。

      在该方法的内部,我们首先要判断$instance是否存在,不存在的话就实例化该类本身,赋给$instance。否则就直接返回$instance,这样就能保证该应用中只存在该类的一个实例,避免了多次new OpenStack()产生的资源开销。

      

  • 相关阅读:
    Java 基础知识(五)
    Java 基础知识(四)
    Java 基础知识(三)
    Java 基础知识(二)
    python 默认参数潜在的问题
    python中统计计数的几种方法和Counter的介绍
    简单的总结一下到底什么是python
    python中的__solots__方法
    python中生成器和迭代器以及可迭代对象的区别
    游览器访问一个网址的全过程
  • 原文地址:https://www.cnblogs.com/liujiaq/p/6137705.html
Copyright © 2020-2023  润新知