摘要:通过单例模式实现某些类只能有一个实例,比如说数据库连接池。三步骤实现: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
老师总结:作业完成的不错,继续加油,这些代码自己多写几遍加深印象