Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Petite question, jusqu'à maintenant je fonctionnais avec un controlleur d'actions global qu'étendent tous les controllers d'actions de l'application, et qui lui même étend un super controller qui étend Zend_Controller_Action.
En gros Zend_Controller_Action > Tight_Controller_Action > GlobalController > IndexController.
L'arbo:
application/ configs/ application.ini controllers/ GlobalController.php IndexController.php etc.
Jusqu'à maintenant je faisais dans les controllers:
require_once 'GlobalController.php'; class IndexController extends GlobalController { }
Comment faire pour que l'autoloader charge spontanément le GlobalController ?
Merci,
A+ benjamin.
Dernière modification par Delprog (23-06-2009 11:23:52)
Hors ligne
Tu le mets dans un répertoire présent dans l'include_path.
A+, Philippe
Hors ligne
Oui
Mais je me disais que l'auto-loader était capable de charger tout seul tout ce qui se trouve dans le dossier application.
Comme je trouve ça logique de placer ce controllers avec les autres, puisqu'il ne concerne que l'application (pas dans le dossier library par ex.), je dois donc ajouter à l'include_path tout le dossier application ou application/controllers.
De plus, je ne comprend pas cette ligne dans le application.ini proposé :
includePaths.library = APPLICATION_PATH "/../library"
Puisque dans l'index.php on a :
set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), get_include_path(), )));
Avant que le Boostrap soit invoqué.
Parce que bêtement j'ai essayé de faire:
includePaths.controllers = APPLICATION_PATH "/controllers"
qui ne fonctionne pas.
Edit: Je commence à comprendre le fonctionnement en ajoutant
autoloaderNamespaces.1 = "Global"
dans le fichier de config, ça fonctionne. Tout est basé sur les namespaces.
A+ benjamin.
Dernière modification par Delprog (22-06-2009 15:58:46)
Hors ligne
Je clos le sujet, j'avais pas assimilé Zend_Application encore
J'en ouvre un autre pour discuter de choses plus sérieuses.
Hors ligne
Pages: 1