Utilisation de conventions de dossiers modulairesIntroductionLes conventions de dossiers vous permettent de séparer les différentes applications MVC dans des unités isolées et les réutiliser dans le contrôleur frontal. Voici une illustration : Ci dessus, le nom du module est utilisé comme préfixe pour les contrôleurs qu'il possède. Il y a donc trois contrôleurs : "Blog_IndexController", "News_IndexController", et "News_ListController". Deux contrôleurs dans le module par défaut sont aussi définis, "IndexController" et "FooController". Ceux-ci ne possèdent pas le nom du module dans leur nom. Cet exemple d'arborescence conseillée sera utilisé dans ce chapitre.
Alors, comment utiliser une structure telle que celle-ci ? Spécification des dossiers de modules
La première chose à faire est d'indiquer au contrôleur frontal où se trouvent les
dossiers contenant les contrôleurs d'action. Passez un
Pour setControllerDirectory(), un tableau est requis. Les paires
clé/valeur représentent le nom du module, et le chemin des contrôleurs. La clé
addControllerDirectory() prend en paramètre une
Enfin, si vous avez un dossier spécial regroupant tous vos modules, indiquez le grâce à addModuleDirectory() :
Dans le code ci dessus, vous déclarez 3 modules en une méthodes. Celle-ci
s'attend à la structure comprenant les modules Si le dossier "controllers" ne vous convient pas, changez son nom à l'aide de setModuleControllerDirectoryName() :
Routage des modulesLa route par défaut, Zend_Controller_Router_Rewrite est un objet de type Zend_Controller_Router_Route_Module. Cette route traite les schémas de routage suivants :
Ainsi, elle va trouver les contrôleurs et actions, avec ou sans module les précédant. Un module ne sera trouvé que si sa clé existe dans le tableau d'options passé au contrôleur frontal ou au distributeur. Module ou contrôleur Default global
Dans le routeur par défaut, si aucun contrôleur n'est indiqué dans l'URL, un
contrôleur par défaut sera utilisé (
Si vous voulez renvoyer directement vers le contrôleur par défaut du module
"default", passez le paramètre
|
|