摘要:通过对本章的学习,通过创建Database类,实现数据库连接的单例模式。代码如下:DataBase.php<?php namespace app\index\controller; class DataBase { //私有化构造函数 private funct
通过对本章的学习,通过创建Database类,实现数据库连接的单例模式。代码如下:
DataBase.php
<?php
namespace app\index\controller;
class DataBase
{
//私有化构造函数
private function __construct()
{
}
//私有化克隆函数
private function __clone()
{
}
protected static $instance = null;
//数据库连接
private static function iniDbArray()
{
$arr=[
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => '',
// 用户名
'username' => 'root',
// 密码
'password' => '',
// 端口
'hostport' => '',
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => '',
// 数据库调试模式
'debug' => true,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0
];
return $arr;
}
//初始化
public static function getInstance()
{
if(static::$instance==null)
{
static::$instance=self::iniDbArray();
}
return static::$instance;
}
}Index.php调用:
<?php
namespace app\index\controller;
use think\Request;
class Index
{
public function index()
{
dump(DataBase::getInstance());
}
public function hello($name = 'ThinkPHP5')
{
return 'hello,' . $name;
}
public function getParam(Request $request)
{
dump($request->param());
}
}效果图:

批改老师:韦小宝批改时间:2019-02-20 17:26:30
老师总结:设计模式要多在实际的项目中去实践才能起到很大的作用 没事的时候一定要多去练习!