如何使用PDO's FETCH_CLASS来分配构造函数参数


How do I use PDO's FETCH_CLASS to assign constructor arguments?

我想使用PDO创建对象的实例。我知道已经有很多问题,但我只发现可以将参数数组发送给构造函数。对我来说,构造函数似乎只能接受数组作为参数。但是,这将使构造函数变得没有意义。

我想用自己的getter和setter创建一个类,像这样:

class MyClass {
    private propertyA
    private propertyB
    public __constructor($argA, $argB) {
        $this->setPropertyA($argA);
        $this->setPropertyB($argB);
    }
    public setPropertyA($arg) {
        $this->proprtyA = $arg;
    }
}

是否有一种优雅的方法来使用数据库中的数据来创建这样一个类的实例,最好使用PDO。

Freeballin' here:

$handle = new PDO("blahblahblah");
$statement = $handle->prepare("SELECT blahblah");
$statement->execute();
$object_params = $statement->fetch(PDO::FETCH_ASSOC);
$object = new Object($object_params);
// OR...
$object = new Object($object_params["col_1"], $object_params["col_2"], "etc.");

另外:

class MyClass {
    private propertyA
    private propertyB
    public __constructor() {
        $handle = new PDO("blahblahblah");
        $statement = $handle->prepare("SELECT blahblah");
        $statement->execute();
        $object_params = $statement->fetch(PDO::FETCH_ASSOC);
        $this->setPropertyA($object_params[$argA_key]);
        $this->setPropertyB($object_params[$argB_key]);
    }
    public setPropertyA($arg) {
        $this->proprtyA = $arg;
    }
}
我不知道你到底在找什么。你对此有何评论?