如何使用PDO的FETCH_CLASS分配构造函数参数?

时间:2013-03-21 09:48:40

标签: php pdo

我想使用PDO创建对象的实例。我知道已经有questions了,但我发现可以向构造函数发送一组参数。对我来说,似乎构造函数只能接受一个数组作为参数。但是这会使构造函数意义不大。

我想创建一个带有我自己的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。

1 个答案:

答案 0 :(得分:1)

Freeballin'在这里:

$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;
    }
}

我完全不知道你在寻找什么。你能评论吗?