学习单例模式

原创 2018-11-07 23:35:50 173
摘要:通过单例模式实现某些类只能有一个实例,比如说数据库连接池。三步骤实现:1、new对象 禁止从外部实例化类(将构造方法)2、clone对象 禁止从外部克隆该类的实例(将构造方法)3、创建一个静态的公有的函数用于创建或获取它本身的静态私有对象。class DB {     private  static 

通过单例模式实现某些类只能有一个实例,比如说数据库连接池。

三步骤实现:

1、new对象 禁止从外部实例化类(将构造方法)

2、clone对象 禁止从外部克隆该类的实例(将构造方法)

3、创建一个静态的公有的函数用于创建或获取它本身的静态私有对象。

class DB
{
    private  static $_instance = null; //存放实例

    private function __construct(){

    }//构造方法,禁止从外部实例化类

    private function __clone()
    {
    }//构造方法,禁止从外部克隆该类的实例

    public static function getInstance()
    {
        if (is_null(static::$_instance)) {
            static::$_instance = new static();
        }

        return static::$_instance;
    }

}
$db = DB::getInstance();
echo ($db instanceof DB) ? '是' : '不是';
echo '<br>';
//instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例
var_dump($db);


批改老师:天蓬老师批改时间:2018-11-08 10:45:38
老师总结:作业完成的不错,继续加油,这些代码自己多写几遍加深印象

发布手记

热门词条