Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Criar objeto PHP dinamicamente com base em string


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