Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2011, 18h52   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2010
Messages : 67
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2010
Messages : 67
Points : 14
Points : 14
Par défaut Que contient un Controller ?

Bonjour,

Je comprend bien le principe du MVC, mais j'ai un soucis de comprehension, le modele correspond à une table de la base de données, mais le controlleur ?

Que mettez vous dans un controlleur, est ce des actions relatives à une partie du site même si elles font appel à plusieurs modèle ?

Je suis un peu perdu avec ça
siriu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 20h59   #2
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Bonjour,
Le controleur à pour objectif de faire la liaison entre la vue et le controlleur, en gros il controle toutes ce qui est transmit depuis la vue, regarde les explication du schéma MVC
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 09h19   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2010
Messages : 67
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2010
Messages : 67
Points : 14
Points : 14
Bonjour,

Merci pour votre réponse. Ok mais le controlleur contient il que les actions propre à une seule table / modèle ou peut il contenir des actions concernant plusieurs modèles ou tables ?
siriu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 22h45   #4
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Il ne faut pas confondre action du controller et méthode d un model.
Tu peux mettre ce que tu veux dans tin controller
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 07h48   #5
Membre chevronné
 
Avatar de nathieb
 
Homme olivier Thiébaut
Chef de projet/Architecte
Inscription : mai 2004
Messages : 626
Détails du profil
Informations personnelles :
Nom : Homme olivier Thiébaut
Âge : 45
Localisation : France

Informations professionnelles :
Activité : Chef de projet/Architecte
Secteur : Service public

Informations forums :
Inscription : mai 2004
Messages : 626
Points : 704
Points : 704
Par défaut Controlleur

Bonjour,

Tu peux voir ton controlleur comme un switch principal qui redirige en fonction de ta partie métier ( mini action ) et qui appelle un template pour l'affichage.

Exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
switch($_REQUEST['action'])
     case 'agenda':
             $agenda = new Agenda($today);
             //tu appelles ta partie métier, accès a ta base avec des DAO
             //puis traitement calculs, t'appelle ta mère ;)
             //tu appliques les changements aux variables de templates ..
             $monmoteurdetemplate->assign($montableau);
             etc ....
             $template = 'agenda.tpl';
             break;
     etc ..... 
     default: ....
 
$monmoteurdetemplate->display($template);
En fait, dans mon controlleur principal j'appelle des actions secondaires qui sont représentées par des fichiers PHP.
Bien sûr, il faut traiter tes requêtes ($_GET $_POST) pour éviter l'injection de code et tout le reste.
C'est l'idée ...

Olivier
__________________
Architecte déstructurant,
be cool, be free

J2EE - PHP - Free OS
nathieb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 08h34   #6
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Cela n est pas tout à fait juste il n y a aucun rapport avec les règles métier, celle ci sont implentées dans le model.

Et dans ton exemple c est un controlleur global donc il faut faire attention, c est surement à cause de cela que tu parle de regles métier.

Sur Zend ce qui permet d appeler un module un controleur une action c est le dispatcher.
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 22h29   #7
Membre chevronné
 
Avatar de nathieb
 
Homme olivier Thiébaut
Chef de projet/Architecte
Inscription : mai 2004
Messages : 626
Détails du profil
Informations personnelles :
Nom : Homme olivier Thiébaut
Âge : 45
Localisation : France

Informations professionnelles :
Activité : Chef de projet/Architecte
Secteur : Service public

Informations forums :
Inscription : mai 2004
Messages : 626
Points : 704
Points : 704
Par défaut controller

Bonjour,

Effectivement, je ne connais pas Zend, mais c'est un moyen simple de comprendre MVC

Olivier
__________________
Architecte déstructurant,
be cool, be free

J2EE - PHP - Free OS
nathieb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h56.


 
 
 
 
Partenaires

Hébergement Web