PDO::FETCH_CLASS
事前に入力されたデータを使用してクラスインスタンスを初期化できます。これは次のようになります。
<?php
class Bar {
private $data = [];
public function __construct ($is) {
// $is === 'test'
// $this->data === ['foo' => 1, 'bar' => 1]
}
public function __set($name, $value) {
$this->data[$name] = $value;
}
}
$db
->query("SELECT `foo`, `bar` FROM `qux`;")
->fetchAll(PDO::FETCH_CLASS, 'Bar', ['test']);
PDO::FETCH_PROPS_LATE
または、セッターがトリガーされる前にコンストラクターを呼び出すために使用することもできます。
コンストラクターが呼び出される前に、PDOがセッターを介してClassインスタンスにデータを入力する方法、より具体的には、この動作を複製する方法があるかどうかを知りたいのですが。