php设计模式——单例模式

单例模式

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

  • 定义

<?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链接)浪费
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 适用性 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 当这个唯一实例应该是通过子类化可扩展的,并...
    木有sky阅读 442评论 0 0
  • 单例模式(Singleton Pattern 单件模式或单元素模式) 单例模式确保某个类只有一个实例,而且自行实例...
    积_渐阅读 355评论 0 1
  • 单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的。所有的单例模...
    henryspace阅读 203评论 0 0
  • 问题: 需要一个对象可以被系统中的任何对象使用 对象不能被随意被覆盖 系统不能有超过一个该对象 实现: 由于构造函...
    雨而已阅读 210评论 0 0
  • 实例化一次 单例模式无法new $db = new Database();单例模式-> $db = Datab...
    bycall阅读 608评论 0 0

友情链接更多精彩内容