单例设计模式的核心代码

<?php
//单例设计模式的核心代码
class Db
{
    //私有的静态的保存对象属性
    private static $obj=NULL;
    //私有的构造方法,防止类外new对象
    private function __construct(){

    }
    //私有的克隆方法,防止类外clone对象
    private function __clone(){

    }
    //公有的静态的创建对象的方法
    public static function getInstance(){
        //判断当前对象是否存在
        if(!self::$obj instanceof self)
        {
            //如果对象 不存在,创建并保存他
            self::$obj=new self();
        }
        // 返回对象
        return self::$obj;

    }
}
//创建数据库类的对象
$obj1=Db::getInstance();
$obj2=Db::getInstance();
var_dump($obj1,$obj2);


?>

运行结果

 

虽然创建了obj1和obj2两个对象,但是实际只创建了一个对象。

 

posted @ 2020-09-11 10:06  kalistabc  阅读(304)  评论(0)    收藏  举报