我为简单的MVC模式构建了新的数据库连接类。
我需要知道这是正确的方法。
<?php
include_once 'config.php';
class dbModel{
private $dbSys = "";
private $dbHost = "";
private $dbUser = "";
private $dbPass = "";
private $dbName = "";
private con = false;
public function __construct(){
$this->dbSys = DB_SYS;
$this->dbHost = DB_HOST;
$this->dbUser = DB_USER;
$this->dbPass = DB_PASS;
$this->dbName = DB_NAME;
if (!$this->con){
try{
$this->con = new PDO($this->dbSys.':host='.$this->dbHost.';dbname='.$this->dbName, $this->dbUser, $this->dbPass);
return $this->con;
} catch (PDOException $e){
echo $e->getMessage();
exit();
}
}else{
return $this->con;
}
}
}
?>
我将 config.php 文件作为单独的文件包含在数据库配置中。 我正在我的项目中的其他模型中的此数据库连接类中创建新对象,并编写sql并运行查询。
我测试了这段代码,这是有效的。但我需要知道这种方式与否。
请告诉我这是正确的方法。
答案 0 :(得分:5)
嗯,我觉得这个课程完全没有意义。以这种方式使用它是一个过于漏洞的抽象,但它没有增加普通PDO类的好处。
如果无用的代码,还有一个糟糕的地方:例如,您将凭据定义三次,仅使用一次。
错误报告也没用,也错了。
我只创建四个行的整个文件
<?php
include_once 'config.php'
$pdo = new PDO(DB_SYS.':host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
但它比你的更灵活,更容易出错。