【发布时间】:2016-08-21 09:16:42
【问题描述】:
我想弄清楚如何在一个类中处理 mysql 连接。无需始终将其包装在 if 语句中。这是一个示例,可帮助您了解我要做什么。
class Database {
protected $conn;
protected $password;
protected $username;
protected $servername;
public function Database(){
$this->conn = new mysqli($this->servername,$this->username,$this->password);
}
public function scriptA(){
if ($this->conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else{
//do script A
return $result;
}
}
public function scriptB(){
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else{
//do script B
return $result;
}
}
}
如您所见,如果我要添加更多脚本,我将不得不添加很多 if 捕获以检查它是否已连接。有没有类似 php 的函数异常处理程序的东西? IE函数foo抛出异常?
【问题讨论】:
-
您可以编写一个类似于 DB 的类,该类将在构造中具有连接并调用其函数来执行查询。在您的脚本中,它将类似于
$db = new Database,然后是$db->Query('SELECT * FROM table'); -
使用 throw 和 catch 进行异常处理stackoverflow.com/questions/17549584/…
-
@Autor69 这就是我所做的,我只是在想是否最好让类扩展异常。
-
@Hahn 我将不得不添加很多 try catch 和 throws 。我尽量保持代码简单和干净。不重复同样的事情。对不起,我是个害虫。
标签: php