Mas não conheço nenhuma maneira de criar dinamicamente um tipo baseado em uma string. Como se faz isso?
Você pode fazer isso com bastante facilidade e naturalidade:
$type = 'myclass';
$instance = new $type;
Se sua consulta estiver retornando uma matriz associativa, você poderá atribuir propriedades usando uma sintaxe semelhante:
// build object
$type = $row['type'];
$instance = new $type;
// remove 'type' so we don't set $instance->type = 'foo' or 'bar'
unset($row['type']);
// assign properties
foreach ($row as $property => $value) {
$instance->$property = $value;
}