6 Star 10 Fork 6

pizza/piz

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
DbFactory.php 1.67 KB
一键复制 编辑 原始数据 按行查看 历史
<?php
/**
* 数据库工厂类
*/
namespace Piz;
final class DbFactory {
/**
* 当前数据库工厂类静态实例
*/
private static $factory;
/**
* 数据库配置列表
*/
protected $config = [];
/**
* 数据库操作实例化列表
*/
protected $dbs = [] ;
/**
* 构造函数
*/
private function __construct (){}
private function __clone() {}
/**
* 返回当前终级类对象的实例
* @param $db_config 数据库配置
* @return object
*/
public static function get_factory($config = [] ) {
if( is_null(self::$factory) ) {
self::$factory = new self;
self::$factory->config = $config ;
}
return self::$factory;
}
/**
* 获取数据库操作实例
* @param $db_name 数据库配置名称
*/
public function get_database($setting) {
if(!isset($this->dbs[$setting]) || !is_object($this->dbs[$setting])) {
$this->dbs[$setting] = $this->connect($setting);
}
return $this->dbs[$setting];
}
/**
* 加载数据库驱动
* @param $db_name 数据库配置名称
* @return object
*/
public function connect($setting) {
//可在此加载其它实现类驱动
$object = new Db\Pdo();
$object->open($this->config[$setting]);
return $object;
}
/**
* 关闭数据库连接
* @return void
*/
protected function close() {
foreach($this->dbs as $db) {
$db->close();
}
}
/**
* 析构函数
*/
public function __destruct() {
$this->close();
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/pizzzz/piz.git
git@gitee.com:pizzzz/piz.git
pizzzz
piz
piz
master

搜索帮助