Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 15-02-2008 15:22:27

hefeust
Membre
Date d'inscription: 14-12-2007
Messages: 26

Problème de modules

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

 

#2 15-02-2008 17:31:01

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Problème de modules

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

 

#3 18-02-2008 08:31:22

Isilgawen
Membre
Lieu: Limoges
Date d'inscription: 23-03-2007
Messages: 106

Re: Problème de modules

En parlant de module est-il possible de faire de l'héritage entre certains ?

Hors ligne

 

#4 18-02-2008 08:57:46

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Problème de modules

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

 

#5 18-02-2008 09:39:10

hefeust
Membre
Date d'inscription: 14-12-2007
Messages: 26

Re: Problème de modules

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages