Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'essaye de comprendre un peux mieux la mécanique du Framework et il y a plusieurs choses qui m'échape. En cherchant comment fonctionne la method "_forward();" je me suis demandé à quel moment exactement et par quel composant du framework la transition est faite ? De file en aiguille je suis venue à me poser plusieurs questions "théoriques" et j'aimerais y voir plus clair :
1) Une fois qu'on à extirpé le couple class/method de l'URL, le controller est instancié, quel composant se charge de controller le controller (lol), es-ce le bootstrap ?
2) Si celui-ci utilise la method "_forward();", alors un autre controller est instancié à la place de celui appelé par l'URL, à quel moment exactement se fais la coupure et par qui ?
3) Aussi j'aimerais savoir à quel moment et quel composant se charge de passer la variable $this->view du controller vers la view ?
Voila j'ai d'autres questions en tête,
mais ce sont celles qui m'intriguent le plus
nestoyeur.
Hors ligne
1/ Le front via le dispatcher
2/ La coupure de quoi ? Le dispatching est une boucle. Lorsque tu fais un _forward, la fonction modifie l'object request est indique que la requête n'a pas été dispatché. Ta boucle courante se termine (termine l'action courante, predistach) puis ta boucle te dispatching reboucle pour la nouvelle action
3/ Personne, $this->view est l'objet $view lui-même et ta vue (le fichier.phtml) est "incluse" dans l'objet $view également
Dernière modification par nORKy (03-02-2010 08:42:23)
Hors ligne
Je précise juste le 1/
Le ZF utilise un "Front Controller" (c'est la classe Zend_Controller_Front). Cette classe est utilisée par toutes les pages de ton site. C'est elle qui fait appel au dispatcher et au routeur pour choisir tel ou tel controlleur à instancier puis à lancer. (Il lance également les plugins et le helpers d'action).
Si vraiment tu es un accro de la théorie, après le MVC, on a parlé du MVC2 qui utilisait ce principe de controlleur unique (ou front controller). Si tu cherches MVC2 dans Google, tu devrais avoir pas mal de réponses...
A+, Philippe
Hors ligne
Salut,
Jette un coup d'oeil sur ce diagramme : http://nethands.de/download/zenddispatch_en.pdf.
Ca t'en dira un peu plus sur le dispatching.
A+ benjamin.
Hors ligne
Merci pour vos réponses
Par contre j'ai recherché un peux du coté de MVC2 mais je ne trouve rien de concret sur google. Uniquement de vague explication signifiant que cette nouvelle version du design pattern utiliserais un seul et unique controller pour toute les pages.
A présent je vais me pencher sur le schéma.
Hors ligne