v1.0.10
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* PDO 数据库连接类(单例模式)
|
||||
* 用法:$pdo = DB::getInstance()->getPdo();
|
||||
*/
|
||||
class DB
|
||||
{
|
||||
private static $instance = null;
|
||||
private $pdo;
|
||||
|
||||
private function __construct()
|
||||
{
|
||||
$cfg = require __DIR__ . '/../../config/database.php';
|
||||
$dsn = sprintf(
|
||||
'mysql:host=%s;port=%d;dbname=%s;charset=%s',
|
||||
$cfg['host'],
|
||||
$cfg['port'],
|
||||
$cfg['dbname'],
|
||||
$cfg['charset']
|
||||
);
|
||||
$this->pdo = new PDO($dsn, $cfg['username'], $cfg['password'], [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function getInstance()
|
||||
{
|
||||
if (self::$instance === null) {
|
||||
self::$instance = new self();
|
||||
}
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
public function getPdo()
|
||||
{
|
||||
return $this->pdo;
|
||||
}
|
||||
|
||||
// 禁止克隆
|
||||
private function __clone() {}
|
||||
}
|
||||
Reference in New Issue
Block a user