Usando PDO :: FETCH_CLASS com Métodos Mágicos

Tenho uma classe que usa métodos mágicos para armazenar propriedades. Aqui está um exemplo simplificado:

class Foo {
    protected $props;

    public function __construct(array $props = array()) {
        $this->props = $props;
    }

    public function __get($prop) {
        return $this->props[$prop];
    }

    public function __set($prop, $val) {
        $this->props[$prop] = $val;
    }
}

Estou tentando instanciar objetos desta classe para cada linha do banco de dados de umPDOStatement depois de executado, assim (não funciona):

$st->setFetchMode(PDO::FETCH_CLASS, 'Foo');

foreach ($st as $row) {
    var_dump($row);
}

O problema é quePDO::FETCH_CLASS não parece desencadear a mágica__set() na minha classe quando está definindo valores de propriedad

Como posso obter o efeito desejado usando o DOP?

questionAnswers(2)

yourAnswerToTheQuestion