IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

[Zend_Controller] Comment éviter d'avoir un controller de 300000 lignes ?


Sujet :

MVC PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    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.

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    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.

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    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

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Par défaut
    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 ?

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    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

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Par défaut
    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?

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    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.

  8. #8
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Par défaut
    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é) ?

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Est-ce que cette doc te convient ?
    http://framework.zend.com/wiki/displ...rectory+Layout

  10. #10
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Par défaut
    Merci beaucoup, c'est parfait. Il me reste à savoir comment créer le bootstrap qui correspond et ça devrait le faire.

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/10/2012, 11h18
  2. Comment éviter d'avoir son domaine dans la blacklist
    Par vg-matrix dans le forum Sécurité
    Réponses: 1
    Dernier message: 08/09/2011, 18h41
  3. Réponses: 1
    Dernier message: 25/06/2010, 07h38
  4. Réponses: 0
    Dernier message: 05/06/2008, 13h49
  5. Réponses: 8
    Dernier message: 29/08/2006, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo