Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
je souhaite créer un système MVC mufti applications. Je ne sais pas si c'est possible avec le ZendFramework?
Pensez vous qu'il soit possible de créer des "sous modules"?
En faite, ma hiérarchie serait celle la :
Application
- Modules
- Projet1
-Modules
-Clients
-Controllers
- Models
- Views
- Produits
-Controllers
- Models
- Views
- ....
-Projet2
-Modules
-Mouvements
-Controllers
- Models
- Views
- Commandes
-Controllers
- Models
- Views
- ....
-...
Car chaqune de mes applications vont se partager certaines vues ou modèles....
Merci de votre aide.
Hors ligne
Question peut etre bête mais, si certaine vues et modèle les vont être partagé pourquoi tout séparer?
Hors ligne
Une petite recherche aurait pu te faire tomber sur l'une de mes vieilles questions:
http://www.z-f.fr/forum/viewtopic.php?id=5223
Hors ligne
Merci, j'ai trouvé ta question... mais j'ai pas trouvé la réponse
Hors ligne
Tous est possible avec Zend, tout dépend de se que t'es sous-modules vont faire et comment ils doivent le faire... Si c'est dans l'url
<code>
/module/sousmodule/controller/action
</code>
Il faut que tu modifies le Dispatcher et que tu changes la route par défaut qu'il trouve le bon module et déclenche la bonne action.
Il ne faut jamais oublier que c'est de la POO, l'héritage est la pour ça
Bonne chance
Hors ligne
Salut, et bonjour à tous ! (premier post !)
Moi j'ai une archi de ce type :
-app
--modules
---admin
----mod1
----mod2
---front
----mod3
----mod4
Au lieu de déclarer mon dossier de modules classique avec le .ini,
j'ai fait, dans mon bootstrap :
$front = Zend_Controller_Front::getInstance(); $front->addModuleDirectory( APPLICATION_PATH . '/modules/front' ); $front->addModuleDirectory( APPLICATION_PATH . '/modules/admin');
Et j'ai 2 dossiers de modules.
Bye
Hors ligne
Bonjour à tous.
Je suis moi aussi très intéressé par cette structure de modules et de sous-modules, pour ma part j'aimerai la concevoir comme telle :
Application
- Modules
- Admin
- module1
- Controllers
- Models
- Views
- module2
- Controllers
- ...
- ...
- Public
- module1
- Controllers
- Models
- Views
- module2
- Controllers
- ...
- ...
- ...
J'ai donc suivi tes indications, TeChn4k, mais il me ressort une erreur "No default controller directory registered with front controller".
Quelqu'un aurait-il une base de structure modulaire avec des sous-modules ? (donc du code et pas des idées, les idées foisonnent sur internet mais IMPOSSIBLE de trouver une structure avec le code qui fonctionne)
Ou au moins, quelqu'un pourrait-il m'expliquer comment le concevoir en indiquant les actions à réaliser et les endroits où placer le code ?
HS (pas si HS que ça) : Je trouve assez formidable que ZF prône les structures modulaires, que tout le monde nous poussent à le faire mais qu'il ne soit pas possible d'avoir plus d'explications sur le sujet que l'idée de base et un petit schéma représentant l'architecture des dossiers...
Hors ligne
dans mes applications, j'utilise des modules à plusieurs niveaux de profondeurs
par contre les modèles sont communs à tous les modules donc je vous montre déjà le code pour les contrôleurs et je vous laisse adapter pour vos besoins de modèles :
$frontController = Zend_Controller_Front::getInstance(); $frontController->addControllerDirectory(APPLICATION_PATH . '/controllers'); $router = $frontController->getRouter(); // routes modules $listeModule = array( array('administration'), array('administration', 'gestionclient'), array('administration', 'zonetelephonie'), array('administration', 'zonetelephonie', 'telephonefixe'), array('administration', 'zonetelephonie', 'telephoneportable'), array('administration', 'zonenetbook'), array('espaceclient'), array('zonetelephonie'), array('zonenetbook'), ); foreach ($listeModule as $m) { $route = implode('/', $m); $nomModule = implode('_', $m); $router->addRoute("$nomModule-1", new Zend_Controller_Router_Route("$route/:controller/:action/*", array( 'module' => $nomModule, ) ) ); $router->addRoute("$nomModule-2", new Zend_Controller_Router_Route("$route/:controller/", array( 'module' => $nomModule, 'action' => 'index', ) ) ); $router->addRoute("$nomModule-3", new Zend_Controller_Router_Route("$route/", array( 'module' => $nomModule, 'controller' => 'index', 'action' => 'index', ) ) ); $frontController->addControllerDirectory(APPLICATION_PATH . "/modules/$route", $nomModule); }
Hors ligne