Merci pour cette solution fonctionnelle.
Le problème est qu'étant donné le contexte de l'application, cette solution pourrait être lourde. Et je n'arrive pas à me faire à l'idée qu'en PHP, il n'existe pas l'équivalent d'array merge pour les objets.
Je travaille sur plusieurs pistes:
Cette solution trouvée ailleurs:
$obj_merged = (object) array_merge((array) $obj1, (array) $obj2);
Mais ce n'est pas vraiment élégant.
Très proche de ta solution:
foreach($objectA as $k => $v) $objectB->$k = $v;
Mais on a toujours le problème du temps de traitement si le JSON comporte beaucoup d'entrées.
Enfin, une solution basée sur le patern composite. J'en ai trouvé quelques-unes sur le ouéb et ça permettrait de simplifier mon code:
Le dispatcheur initialise le modèle et le contrôleur, le modèle crée un (ou des) objet(s) à partir du (ou des) JSON, le cas échéant le contrôleur ajoute les propriétés à l'objet modèle et enfin agrège l'objet modèle et l'objet issu du JSON.
Que pensez-vous de cette solution? Cette interprétation du partage des rôles entre modèle et contrôleur est elle erronée?
Partager