2010-06-21 1 views
0

J'ai une classe parent abstraite Item, à partir de laquelle différents types d'éléments s'étendent: ItemTypeA, ItemTypeB et ItemTypeC. De mon résultat de base de données, j'ai un tableau:Création d'objets enfants dans PHP

array(

'item_name' => 'This is the item name', 
'item_type' => 'ItemTypeA' 

); 

En PHP, ce qui est la meilleure façon de créer l'élément? Dois-je faire quelque chose de similaire à ce qui suit?

static function constructFromDatabase($result){ 

$type = $result['item_type']; 
$item = new $type; 
return $item; 

} 

Répondre

1

Oui, $item = new $type; devrait fonctionner très bien, source

0

Vous pouvez même faire return new $result['item_type'];, pour des performances -et peut-être la clarté/raisons simplicity-, si vous ne comptez pas utiliser les variables intermédiaires nulle part ailleurs.

Questions connexes