abstract:<?php/*** 单列模式* 1、将构建函数和克隆函数私有化* 2、创建静态,受保护的属性用于保存实例化类* 3、创建静态公共接口函数* 4、如果静态属性为空,则实例化类,否则返回该属性*/class Db{private function __construct(){}private function __clone(){}protected static $connect=null;p
<?php
/**
* 单列模式
* 1、将构建函数和克隆函数私有化
* 2、创建静态,受保护的属性用于保存实例化类
* 3、创建静态公共接口函数
* 4、如果静态属性为空,则实例化类,否则返回该属性
*/
class Db
{
private function __construct(){}
private function __clone(){}
protected static $connect=null;
public static function conn(){
if(is_null(static::$connect)){
$host='127.0.0.1:3306';
$name='root';
$pwd='root';
$db='frame';
static::$connect = new mysqli($host,$name,$pwd,$db);
}
return static::$connect;
}
}
$conn=Db::conn();
var_dump($conn);
Correcting teacher:天蓬老师Correction time:2019-03-28 10:21:47
Teacher's summary:你的类中的实例化方法写得不合适 , 应该将结果返回才可以, 否则客户端调用会有问题