PHP调用父的构造,try-catch杀死$ this

时间:2014-08-18 18:32:56

标签: php oop pdo

我是一个扩展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 \数据库\数据库

0 个答案:

没有答案