Mysql
 sql >> Database >  >> RDS >> Mysql

Crea dinamicamente oggetti PHP in base alla stringa

Ma non conosco alcun modo per creare dinamicamente un tipo basato su una stringa. Come si fa a fare questo?

Puoi farlo in modo abbastanza semplice e naturale:

$type = 'myclass';

$instance = new $type;

Se la tua query restituisce un array associativo, puoi assegnare proprietà utilizzando una sintassi simile:

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