28

iwannabeamaki (./24) :
Les deux fragments n'ont pas besoin des mêmes informations, par contre ils utilisent les mêmes paramètres : tous deux ont besoin de $forum_id, l'un pour récupérer des informations sur ce forum, l'autre pour récupérer des topics qui appartiennent à ce forum. Je peux bien avoir un singleton responsable de tout ça, mais chaque fragment va quand même devoir vérifier dans son coin la validité des paramètres (ne serait-ce que pour vérifier que ce sont bien des entiers, par exemple, puisqu'ils viennent de la query string). Le seul gain que peut m'apporter le singleton, c'est qu'il retiendra l'instance de forum correspondant à "$forum_id" en base donc je n'aurai pas besoin de faire deux requêtes, mais toutes les vérifications préalables seront quand même dupliquées :/
Si on considère qu'une page ne peut contenir des informations que d'un seul forum à la fois, alors tu n'as pas à faire les tests de validité plusieurs fois pour $forum_id.

Le premier module à avoir besoin du gestionnaire de forum va l'instancier en donnant $forum_id en paramètre à son constructeur (c'est lui qui va faire les vérifications). Le second module arrive et là le singleton existe déjà et il n'y aura donc pas de vérification de $forum_id. La liste des topics retournée par le gestionnaire sera bien celle de $forum_id puisque c'est ce forum qui a été donné en paramètre au constructeur.
avatar