Modèle MVC : dialogue entre controleur - Algo - Programmation
Marsh Posté le 31-05-2010 à 17:44:01
tu utilises un framework ou tu fais ca à la main?
si tu fais ca à la main, si j'etais toi je songerais à utiliser un framwork comme Cake PHP ou Symphony, avec une préférence pour le premier qui est plus orienté petit/moyens projets.
j'ai bossé avec Cake à mon stage: c'est un vrai bonheur et ca accélère pas mal le développement
A oui : tu t'es trompé de Catégorie, c'est dans PHP qu'il faut poster
Marsh Posté le 01-05-2010 à 13:23:30
Salut,
J’essaie de mettre en place une petite architecture mvc pour un site de e-commerce en php 5 Objet.
Voici le cas de figure :
Cas 1 :
Les visiteurs qui viennent sur le site peuvent s’authentifier pour consulter leur compte. J’ai donc mis en place une vue de « login », « password » qui appelle un contrôleur qui gère l’authentification et qui utilise un objet métier « client ». Jusque là rien de très compliqué.
Cas 2 :
Un utilisateur non logué sur le site rempli son panier et à la fin veut passer sa commande. Pour cela j’ai un autre contrôleur de gestion de commande. Mais un passage de commande implique forcément une authentification utilisateur.
Donc ma solution consistait à instancier le contrôleur d’authentification (1) dans le contrôleur de gestion de commande (2). Le contrôleur 1 court-circuite le passage de commande en renvoyant au contrôleur 2 la page d’authentification, que le contrôleur 2 renvoie à l’utilisateur.
Mais la communication entre différents contrôleurs n’est pas très claire pour moi. En dépit de pas mal de recherche sur le net et sur ce forum, je n’arrive pas à savoir si on peut imbriquer des contrôleurs.
Techniquement c’est bien sur possible mais au niveau logique est-ce pour vous :
- une solution applicable dans certains cas bien spécifiques ?
- une solution récurrente et souvent appliquée ?
- une solution aberrante ?
- il y a d’autres solutions ?
Je sais que le modèle MVC permet la liaison directe de contrôleurs, mais je n’ai jamais vu d’exemple de code l’utiliser concrètement.
Pour l’instant je n’utilise pas de « front controller », mais cela pourrait être une solution… si l’utilisateur est authentifié ou pas, un « front controller » renverrait vers le bon contrôleur spécifique, mais est-ce indispensable ?
Message édité par jamesbond2 le 01-05-2010 à 15:30:01