我是一个扩展PDO类的数据库类。 我调用数据库类的__construct函数来获取pdo实例。
// database.class.php
public function __construct($host, $port , $user, $password, $dbName) {
$dsn = 'mysql:Host=' . $host . ';Port=' . $port . ';dbname=' . $dbName;
parent::__construct($dsn, $user, $password);
}
完美无缺,但现在我想抓住PDOExceptions。 我想抛出我的DatabaseException,它将当前数据库实例作为参数,从中收集信息的和平。 问题是我的异常构造说该参数不是DatabaseObject,它只是NULL。 这是一个例子:
// database.class.php
public function __construct($host, $port , $user, $password, $dbName) {
$dsn = 'mysql:Host=' . $host . ';Port=' . $port . ';dbname=' . $dbName;
try {
parent::__construct($dsn, $user, $password); // wrong credentials given
} catch (\PDOException $e) {
var_dump($this); // NULL
}
var_dump($this); // NULL
}
P.S .: 的var_dump(get_class($这个)); 得到: LIB \ SYSTEM \数据库\数据库