单例模式

  • 使某个类的对象仅允许创建一个(减少资源浪费)
  • 定义

    <?php
    class Test{
      //私有属性,用于保存实例
      private static $instance;
      //构造方法私有化,防止外部创建实例
      private function __construct(){}
      //公有方法,用于获取实例
      public static function getInstance(){
          //判断实例有无创建,没有的话创建实例并返回,有的话直接返回
          if(!(self::$instance instanceof self)){
              self::$instance = new self();
          }
          return self::$instance;
        }
        //克隆方法私有化,防止复制实例
        private function __clone(){}
    
    }
  • 使用

    $first = Test::getInstance();
  • 好处
    减少资源(mysql链接)浪费
文章目录