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 04/04/2008, 00h25   #1
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Par défaut [Zend_Controller] Comment éviter d'avoir un controller de 300000 lignes ?

Bonjour à tous,

Je commence tout juste à utiliser le ZF et une question me vient tout de suite.
Etant donner que tout le code qui gère une partie du site (ex: le forum), il y aura finalement une quantité assez importante de ligne de code dans le même fichier.

Est-ce génant à l'utilisation?

Si oui, comment éviter cela?

Merci d'avance.
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 07h16   #2
Membre habitué
 
Inscription : septembre 2007
Messages : 357
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 357
Points : 118
Points : 118
A priori, le controlleur va gérer tes actions sur la page (en autre : ajouter, lire, modifier, supprimer, rechercher, liste). Ce qui te fera quand même beaucoup de ligne. Mais à mon sens, tout ce qui ne fais pas partie des opérations xxxAction doivent être gérer de manière indépendante, ou bien dans un helper, classe, model, etc. Disons que l'utilisations des Zend_Form, a réduit considérablement mon code car je ne test plus la validité des champs, ni les messages d'erreurs des formulaires.

En ce qui me concerne, je me suis mis à ZF en février, donc pas si longtemps que ça. Attendons l'avis de connaisseur.
whitespirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 19h38   #3
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Attention au découpae modules/contrôleurs/actions... Un forum est davantage un module qu'un contrôleur. Des exemples de contrôleurs du module "forum" sont : "message", "sujet", "forum", etc.

Par ailleurs, n'oublie pas d'utiliser Zend_Config pour déporter la configuration, cela réduit avantageursement la taille de ton front controller.

Voici un peu de lecture si tu veux : http://zend-framework.developpez.com/sekaijin/?page=zf
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2008, 18h02   #4
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Yogui => Est ce que tu pourrais me donner un exemple de module qui est déjà présent dans ZF pour que je sache concrètement comment cela est fait et positionné dans les différents répertoires ?
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2008, 18h04   #5
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Non, il n'y a pas de module concret dans ZF, de même qu'il n'y a pas de contrôleur concret (excepté ErrorController).

Un module est tout simplement un regroupement de contrôleurs dans ton arborescence. Pour faire une analogie avec la BDD, un module de ton application correspond à un schéma de ta BDD (Oracle, SQL Server, PostgreSQL...).

[Edit] Pour te montrer que je ne suis pas le seul à penser de la sorte, voici un extrait d'une discussion sur les listes de diffusion de ZF : http://www.nabble.com/Admin-Area-to1...html#a16511821
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2008, 01h13   #6
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Donc d'après ce que tu dis, c'est au développeur de trouver un moyen de faire en sorte que le forum ou la partie administration du site soient des sous applications?
Le ZF n'a pas prévu l'arborescence pour créer des sites assez important?
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2008, 02h52   #7
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Si, cela s'appelle un module, c'est prévu dans les structures classiques.

Je ne comprends pas pourquoi tu crois que c'est à ZF de proposer un module standard, sachant qu'on module n'a typiquement aucune structure standard... Le seul aspect commun entre les modules est qu'ils sont composés de contrôleurs.

Module "forum" :
  • Contrôleur User
  • Contrôleur Forum
  • Contrôleur Message
  • Contrôleur Thread
  • Contrôleur Poll
Module "news" :
  • Contrôleur User
  • Contrôleur Message
Module "maintain" :
  • Contrôleur Person
  • Contrôleur Site
  • Contrôleur Maintainer
  • Contrôleur Hardware
Module "..."


[Edit] C'est pareil pour les contrôleurs, ZF n'a aucun contrôleur concret comme par exemple UserController, alors que c'est le plus classique des contrôleurs de toutes les applications au monde... C'est tout simplement parce que toutes les applications sont différentes. Si tu veux des modules tout prêts, c'est que tu es à la recherche d'un CMS plutôt que d'un framework.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2008, 15h09   #8
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Oui, c'est vrai.

C'est juste que pour faire une application simple, la majeur partie des tutoriels propose à peu près la même façon de faire et la même disposition des controllers. C'est pour cela que j'avais l'impression qu'il y avait une logique à suivre pour créer une application.

Après coup, vu la souplesse de ZF, c'est vrai que l'on peut faire un peu comme on veut.

C'est ensuite que vient la réflexion pour mettre en place une logique et une arborescence simple pour faire une application un peu plus complète, et sur ça, je n'ai pas l'impression qu'il y ai beaucoup de tuto. (mais je n'ai surment pas encore tout vu ). C'est dans ce sens que je me disais que Zend de propose pas de ligne de conduite comme elle le fait pour les controllers par exemple.

Je débute complète dans l'utilisation de Framework et pour moi tout cela n'est pas encore très clair.

Avant, je créer mes programmes avec un suffixe:
membre_connecter.php
membre_connexion.php
membre_accueil.php
....
forum_accueil.php
forum_insert_sujet.php
forum_insert_reponse.php
...
etc.

La logique que tu me présentes sous forme de module me plait parfaitement (puisque c'est à peu près ce que je faisais déjà) mais je ne vois pas comment faire cela concrètement.

As-tu de la documentation là dessus (en plus du lien vers le forum que tu m'as déjà donné) ?
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2008, 15h15   #9
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Est-ce que cette doc te convient ?
http://framework.zend.com/wiki/displ...rectory+Layout
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2008, 18h25   #10
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Merci beaucoup, c'est parfait. Il me reste à savoir comment créer le bootstrap qui correspond et ça devrait le faire.

Merci encore.
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h24.


 
 
 
 
Partenaires

Hébergement Web