Modèle MVC : dialogue entre controleur

Modèle MVC : dialogue entre controleur - Algo - Programmation

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
Reply

Marsh Posté le 01-05-2010 à 13:23:30   

Reply

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  :whistle:


Message édité par tompouss le 31-05-2010 à 17:49:26

---------------
collectionneur de pâtes thermiques
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed