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

Zend Framework PHP Discussion :

MVC architecture modulaire [ZF 1.10]


Sujet :

Zend Framework PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 111
    Par défaut MVC architecture modulaire
    Bonjour,

    Dans un projet, je souhaite mettre en place ZEND en me servant de l'architecture modulaire donc avec dans chaque modules son MVC.

    Mais si on a un module "admin" pour gérer l'ensemble du site et sur le site on utilise zend "DB Table" et les "Mapper"... on doit avoir des modèles en double puisqu'on agit sur les même tables de la base de données depuis le module "admin" mais également depuis le module "frontend"... non ?

    Ou alors on met le modèle dans un dossier modèle a la racine du répertoire application et en revanche on met les mapper dans le dossier modèle de chaque module ?

    Merci d'avance pour vos réponses

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2003
    Messages : 253
    Par défaut
    Le placement des modèles dans un module spécifique dépends complètement de l'organisation que tu veux donner... Ce qui change est surtout le préfixe de la classe, et du coup c'est totalement une question d'organisation.

    J'ai tendance à mettre les modèles spécifiques à un module dans le dossier application/modules/nom-de-mon-module/models/, et ceux utilisés par plusieurs modules dans application/models/. Tu peux aussi utiliser l'héritage pour définir des règles métiers spécifiques à un seul module tout en réutilisant le modèle utilisé dans toute l'application. Un bout de code sera plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Application_Model_Truc // application/models/Truc.php
    {
        public function doSomething()
        {
             // ...
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Admin_Model_Truc extends Application_Model_Truc // application/modules/admin/models/Truc.php
    {
        public function doSomethingInBackofficeOnly()
        {
             // ...
        }
    }
    Evidemment, développer en double les même modèles, ce n'est pas vraiment l'idée

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 111
    Par défaut
    Parfait, c'est très clair
    Merci beaucoup

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

Discussions similaires

  1. Architecture modulaire qui permet les révision
    Par loganblack dans le forum Flex
    Réponses: 0
    Dernier message: 01/09/2008, 19h40
  2. Architecture modulaire et sous-module
    Par Baptiste Wicht dans le forum Architecture
    Réponses: 8
    Dernier message: 14/05/2008, 16h41
  3. Architecture modulaire traitement d'image
    Par Mini-K dans le forum Architecture
    Réponses: 0
    Dernier message: 15/04/2008, 18h40
  4. Réponses: 3
    Dernier message: 15/03/2008, 09h49
  5. [Spring MVC] Architecture MVC dans spring
    Par Alec6 dans le forum Spring Web
    Réponses: 4
    Dernier message: 11/10/2006, 12h35

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