3

PDO を使用してオブジェクトのインスタンスを作成したいと考えています。すでに多くの質問があることは知っていますが、パラメーターの配列をコンストラクターに送信できることがわかっただけです。私には、コンストラクターが引数として配列のみを受け入れることができるようです。ただし、これによりコンストラクターの意味がなくなります。

次のような独自のゲッターとセッターを持つクラスを作成したいと思います。

class MyClass {
    private propertyA
    private propertyB

    public __constructor($argA, $argB) {
        $this->setPropertyA($argA);
        $this->setPropertyB($argB);
    }

    public setPropertyA($arg) {
        $this->proprtyA = $arg;
    }
}

データベースのデータを使用して、できれば PDO を使用して、そのようなクラスのインスタンスを作成するエレガントな方法はありますか。

4

1 に答える 1

1

ここでフリーボール:

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

あなたが正確に何を探しているのかわかりません。コメントいただけますか?

于 2013-03-22T16:08:53.510 に答える