Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
j'ai commencé à développer des classes de controleur dans le module 'default' de mon application. Maintenant je réorganise le code en déplacant les contrôleurs dans leur dossier définitif.
Et là, surprpse ! l'application cherches des noms de classe préfixés par le module, de la forme "Modhul_KlassController"
Est il possible de se passer d'une façon ou d'une autre de ce préfixe ?
(en paramétrant dans le bootstrap setDefaultModuleDirectory à partir de la requête avant de lancer le dispatch, bonne idée ou pas ?)
Hors ligne
non car tu pourrais avoir des conflit de nom deux contrôleur de même nom dans deux module
si tu fait un forward tu vas charger les deux est là c'est l'exception assurée.
je dirais qu'il vaut mieux toujours travailler dans des modules et n'avoir un défaut qui ne fait qu'un redirect. du coup plus de pb de réorganisation.
A+JYT
Hors ligne
En parlant de module est-il possible de faire de l'héritage entre certains ?
Hors ligne
Un module n'est pas une classe mais un ensemble de contrôleur grouper dans un thème, pour faire un découpage fonctionnel par exemple. Si tu veux faire de l'héritage, il faut le faire au niveau du contrôleur. Si tu veux simplement mutualiser une fonction, tu peux aussi faire un actionHelper
Dernière modification par TiTerm (18-02-2008 08:58:08)
Hors ligne
effectivement j'y ai pensé après : deux controleurs avec le même nom dans deux modules différents !
Mais c'est bien parce que e dispatcheur a sa méthode de chargement de classes subtilement différente de Zend_Loader, car dans ce cas 2 classes stockées dans des fichiers de même nom mais à des endroits (chemins) différents pourraient être chargée quand même !
au prix d'un nom de contrôleur compliqué genre :
Module1_Controllers_MonCtrl
mais ca ne marche pas ainsi donc j'en suis revenu à :
Module1_MonCtrlController
ca complique les déménagement de modules, heuresement qu'en interne il n'y a que des _redirect($url) et non des _forward basés sur le nom du module...
Moralité : n'attendez pas qu'il y ait 25 contrôleurs dans un modules (default) avant de faire un déménagement !
Dernière modification par hefeust (18-02-2008 09:41:04)
Hors ligne