我为简单的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;
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我将用于数据库配置的config.php文件作为一个单独的文件包含在内。我正在从我项目的其他模型中的该数据库连接类创建新对象,并编写sql并运行查询。
我测试了这段代码,这可以正常工作。但是我需要知道正确的方法。
请让我知道这是正确的方法。
好吧,我认为这堂课根本没有意义。它太泄漏了,无法以这种方式使用,但是它却没有增加常规PDO类的好处。
如果没有用处的代码,也有很多问题:例如,您定义凭据三次,只能使用一次。
错误报告也是无用和错误的。
我会做的这整个文件4个行
<?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);
Run Code Online (Sandbox Code Playgroud)
但是它将比您的系统更灵活,更防错。