我已经为简单的 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 和运行查询。
我测试了这段代码,这是有效的。但我需要知道这种方式是否正确。
请告诉我这是正确的方法。
最佳答案
好吧,我认为这门课完全没有意义。以这种方式使用它的抽象性太差,但与常规 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);
然而它会比你的更灵活和防错。
关于MVC 的 PHP 简单数据库连接类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19139813/