1、含义

单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例,它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用,

2、单例模式的三个要点:

  • 需要一个保存类的唯一实例的静态成员变量
  • 构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义
  • 必须提供一个访问这个实例的公共的静态方法

3、优点

PHP语言是一种解释型的脚本语言,这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存
单例模式,针对单次请求时出现多个应用场景并需要共享同一对象资源时是非常有意义的

4、例子

<?php

class DB{

    private static $_obj = null;

    private function __construct() {}

    private function __clone(){
        // TODO: Implement __clone() method.
    }

    public static function getInstance(){

        if (!(self::$_obj instanceof self)){
            self::$_obj = new self();
        }
        return self::$_obj;
    }
    public function test(){
        echo '这是一个测试';
        die();
    }
}

$objDb = DB::getInstance();
$objDb->test();

更多精彩内容,关注下面的微信公众号~

扫码_搜索联合传播样式-标准色版.png


喝醉的清茶
165 声望15 粉丝