PHP FETCH_CLASS构造函数问题

时间:2014-12-25 00:39:19

标签: php pdo constructor

所以我开始使用PDO而不是mysqli,我正在研究对象映射。 最后让它工作,但我需要解决一些问题。

首先,我在这里有一个小小的数据库。

try {
    $query = $this->_pdo->prepare("SELECT * FROM users WHERE email = :email");
    $statement = $query->execute(array('email'=>$email));
    $result = $query->fetchAll(PDO::FETCH_CLASS, "User");

    return $result;
} catch(PDOException $e) {
    return 'Connection error: ' . $e->getMessage() . '<br/>';
}

现在有类User,就像这样:

class User {
    private $id;
    private $username;
    private $email;
    private $password;
    private $date_registered;
    private $ip_address;
    private $is_activated;
    private $activation_token;

    public function __construct($username, $email, $password, $ipAddress, $isActivated, $activationToken) {
        $this->username = $username;
        $this->email = $email;
        $this->password = $password;
        $this->ip_address = $ipAddress;
        $this->is_activated = $isActivated;
        $this->activation_token = $activationToken;
    }

现在最大的问题是,FETCH_CLASS首先填充变量,然后检查构造函数......正如您所看到的,我的构造函数需要参数,所以现在我遇到了一大堆错误。 我也在没有构造函数的情况下测试了它,然后FETCH_CLASS工作得很好。但是,我需要构造函数。我想我总是可以创建一个与构造函数相同的不同函数,但是如果可能的话我想保持这种方式。

那么,有没有办法在不删除构造函数的情况下解决这个小构造函数问题?

0 个答案:

没有答案