初始提交
This commit is contained in:
39
fastphp/db/Db.php
Normal file
39
fastphp/db/Db.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace fastphp\db;
|
||||
|
||||
use PDO;
|
||||
use PDOException;
|
||||
|
||||
/**
|
||||
* 数据库操作类
|
||||
* 其属性$pdo为静态属性,所以在页面执行周期内
|
||||
* 只要一次赋值,以后获取的还是首次赋值的内容
|
||||
* 这里就是pdo对象,这样可以保证运行期间只有
|
||||
* 一个数据库连接对象,简单的单例模式
|
||||
* Class Db
|
||||
* @package fastphp\db
|
||||
*/
|
||||
class Db
|
||||
{
|
||||
private static $pdo = null;
|
||||
|
||||
public static function pdo(){
|
||||
if(self::$pdo !== null){
|
||||
return self::$pdo;
|
||||
}
|
||||
|
||||
try{
|
||||
$dns = sprintf('mysql:host=%s;post=%s;dbname=%s;chartset=utf8',DB_HOST,DB_PORT,DB_NAME);
|
||||
$option = array(PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_ASSOC);
|
||||
self::$pdo = new PDO($dns,DB_USER,DB_PASS,$option);
|
||||
self::$pdo->query("set names utf8");
|
||||
|
||||
return self::$pdo;
|
||||
|
||||
} catch (PDOException $e){
|
||||
exit($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user