Zend_Application_Resource_ModulesZend_Application_Resource_Modules est utilisé pour initialiser
les modules de votre application. Si votre module possède un fichier
Bootstrap.php à sa racine, et que celui-ci contient une classe nommée
Module_Bootstrap (où "Module" est le nom du module),
alors celle-ci sera utiliser pour lancer votre module.
Par défaut, une instance de
Zend_Application_Module_Autoloader sera créée pour le module en
question, utilisant le nom du module et son dossier pour s'initialiser.
Puisque la ressource Modules ne prend pas d'argument par défaut, pour l'activer via la
configuration, vous devez créer un tableau vide. En configuration de type
INI cela ressemblerait à ceci :
En configuration de type XML cela ressemblerait à ceci :
]]>
En utilisant un tableau PHP, il suffit de le créer comme un tableau
vide :
array(
'modules' => array()
)
);
]]>Dépendance envers le contrôleur frontal
La ressource Modules possède une dépendance envers la ressource Front
Controller. Vous pouvez bien sûr proposer votre propre implémentation de la
ressource du contrôleur frontal, si tant est que sa classe se termine par
"Frontcontroller", ou, si vous choisissez d'utiliser une méthode d'initialisation,
celle-ci doit être "_initFrontController".
Configurer les modules
Vous pouvez spécifier la configuration en utilisant le nom du module comme préfixe
de section dans le fichier de configuration.
Par exemple, supposons que vous possédiez un module appelé "news". Voici des exemples
INI et XML de fichiers de configuration pour ce
module.
pdo_mysqllocalhostwebuserXXXXXXXnewstrue
]]>Récupérer un bootstrap de module
Il peut être utile de pouvoir récupérer l'objet bootstrap de votre module, pour en
exécuter par exemple des méthodes spécifiques, ou encore pour en récupérer
l'autoloader. La méthode getExecutedBootstraps() peut être
utilisée dans ce cas là, elle s'applique sur un objet ressource de modules.
getPluginResource('modules');
$moduleBootstraps = $resource->getExecutedBootstraps();
$newsBootstrap = $moduleBootstraps['news'];
]]>