Hej !
J'ai l'obligation d'utiliser une architecture modulaire pour un devoir, toutefois j'ai quelques interrogations concernant l'utilisation des modules avec Zend.
La première question concerne la structure. En effet la documentation du framework est contradictoire sur ce point. Cette page sous-entend que le module par défaut se trouve un "étage" au-dessus, au contraire de cette page où le dossier application ne contient ni controller/models/views, qui sont donc contenues dans les différents modules, le module default étant au même niveau que les autres.
Quel est votre avis la-dessus ? En ce qui me concerne, je trouve plus logique l'architecture créée via Zend_Tool, et la création d'un module default. Par exemple, si je prends le cas d'un site avec deux modules : default (frontend) et admin (backend), j'arrive avec cette architecture de fichiers :
Reste maintenant à savoir comment organiser les fichiers. Comme je comprends cette architecture, cela signifierait que les modèles communs seraient contenus dans le dossier models le plus haut. Typiquement, un modèle User serait utilisé à la fois dans le module par défaut et le module admin, et ce modèle se retrouverait donc dans le dossier models le plus haut. De manière générale, la majorité des modèles se retrouveraient dans le dossier models le plus haut dans la hiérarchie, car utilisés à la fois par le frontend et le backend. En revanche, les dossiers controllers et views seraient le plus souvent vides, car les controllers et les views sont spécifiques au module.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13application --- controllers --- models --- views --- modules --- default --- controllers --- models --- views --- admin --- controllers --- models --- views
De la même manière, les dossiers models des modules seraient souvent vides, au contraire des dossiers controllers/views.
Cela vous paraît-il logique ? Ou alors vous pensez qu'il est préférable d'avoir les modèles dans les modules, quitte à les dupliquer ?
Reste ensuite la question des layout. Zend_Tool n'autorise pas la création de plusiuers layout (zf enable layout). Ce qui signifie que le dossier layout est créé dans le dossier application. Le layout contiendrait donc typiquement un script pour chaque module, default.phtml et admin.phtml, et un plugin se chargerait de sélectionner le bon layout suivant le module. La encore, est-il préférable de créer un dossier layout par module ?
Merci de vos réponses. Je sais que ces questions ne sont finalement pas très importantes et plus "conceptuelles", mais la gestion des modules est plutôt complexe, je trouve. J'aimerais donc les utiliser logiquement.
Partager