Mysql
 sql >> Base de données >  >> RDS >> Mysql

Créer dynamiquement un objet PHP basé sur une chaîne

Mais je ne connais aucun moyen de créer dynamiquement un type basé sur une chaîne. Comment est-que quelqu'un peut faire ça?

Vous pouvez le faire assez facilement et naturellement :

$type = 'myclass';

$instance = new $type;

Si votre requête renvoie un tableau associatif, vous pouvez attribuer des propriétés en utilisant une syntaxe similaire :

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