Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-02-2010 21:01:12

nestoyeur
Nouveau membre
Date d'inscription: 02-02-2010
Messages: 3

Compréhension: Qui controlle le controller ?

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 smile

nestoyeur.

Hors ligne

 

#2 03-02-2010 08:39:42

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Compréhension: Qui controlle le controller ?

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)


----
Gruiiik !

Hors ligne

 

#3 03-02-2010 11:00:06

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Compréhension: Qui controlle le controller ?

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


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#4 03-02-2010 12:05:21

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: Compréhension: Qui controlle le controller ?

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.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#5 03-02-2010 13:09:48

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Compréhension: Qui controlle le controller ?

Sympa, je ne connaissais pas, c'est bien fichu !
A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#6 03-02-2010 14:19:34

nestoyeur
Nouveau membre
Date d'inscription: 02-02-2010
Messages: 3

Re: Compréhension: Qui controlle le controller ?

Merci pour vos réponses smile

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages