|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 48 ![]() |
Bonjour.
Mon application a 3 modules. Sur certaines fonctionnalités, ils sont très semblables. Du coup, j'en ai créé un 4e, sobrement appelé default. Le principe serait que dans chaque module, certains controllers étendent ceux du module default, afin de ne pas dupliquer le code. Ex: Code :
class Sports_BlocController extends Default_BlocController Pb: l'autoloading sur le Default_BlocController ne se fait pas. configuration de mon application (n'est copiée que la partie relative à mon pb): application/config/main.ini Code :
Code :
Code :
Code :
|
||||||||
|
|
00
|
|
|
#2 |
|
Membre actif
![]() |
Bonjour danidan75,
C'est quoi le message d'erreur Zend ? Si je comprends bien, tu as l'erreur que quand tu accède, via browser, au module "Sports" ? |
|
|
00
|
|
|
#3 | |
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 48 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() |
@danidan75,
Essaye ça : Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 48 ![]() |
J'ai légèrement adapté devenant
Code :
Zend_Loader_Autoloader::getinstance()->pushAutoloader De plus, je pense que le code que vous m'avez proposé fait exactement l'inverse de ce que je voudrais: je souhaite que les controllers du module "default" soient accessible, via l'autoloading, par tous les autres. En fait, l'équivalent d'un: Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre actif
![]() |
@danidan75,
Je te conseil de créer un autre controller commun dans le répertoire "My" et que lui hérite de Zend_Controller_Action. Ce controller contiendra les fonctions communes et tu fais hériter tes controllers dans tes modules de ce dernier. Qu'est-ce que tu en pense ? |
|
|
00
|
|
|
#7 | ||
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 48 ![]() |
J'y avais pensé, mais estimais qu'un controller n'avait rien à faire dans mes librairies, fut-il un abstract controller.
Au final, je prends la solution Code :
La solution apportée n'est pas géniale, mais me semble être la moins crade. Si qq'un en a une correspondant à ce que je voulais au début, qu'il n'hésite pas à se manifester. @abenlahsen: merci bcp pour votre aide |
||
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : avril 2004 Messages : 19 ![]() |
Pour mon projet j'ai eu besoin d'étendre des classes communes.
Mes classes parent sont des abstract. Je l'ai ait placer dans le dossier /application/controllers/ dans application.ini : autoloaderNamespaces.extension[] = "controllers_" et dans l'indes.php du repertoire public j'ai ajouté au set_include_path : "realpath(APPLICATION_PATH )," j'espère que ca pourra t'aider. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com