| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.application.available-resources.modules">
- <title>Zend_Application_Resource_Modules</title>
- <para>
- <classname>Zend_Application_Resource_Modules</classname> est utilisé pour initialiser
- les modules de votre application. Si votre module possède un fichier
- <filename>Bootstrap.php</filename> à sa racine, et que celui-ci contient une classe nommée
- <classname>Module_Bootstrap</classname> (où "Module" est le nom du module),
- alors celle-ci sera utiliser pour lancer votre module.
- </para>
- <para>
- Par défaut, une instance de
- <classname>Zend_Application_Module_Autoloader</classname> sera créée pour le module en
- question, utilisant le nom du module et son dossier pour s'initialiser.
- </para>
- <para>
- 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
- <acronym>INI</acronym> cela ressemblerait à ceci :
- </para>
- <programlisting language="ini"><![CDATA[
- resources.modules[] =
- ]]></programlisting>
- <para>
- En configuration de type <acronym>XML</acronym> cela ressemblerait à ceci :
- </para>
- <programlisting language="xml"><![CDATA[
- <resources>
- <modules>
- <!-- Emplacement pour s'assurer qu'un tableau est créé -->
- <placeholder />
- </modules>
- </resources>
- ]]></programlisting>
- <para>
- En utilisant un tableau <acronym>PHP</acronym>, il suffit de le créer comme un tableau
- vide :
- </para>
- <programlisting language="php"><![CDATA[
- $options = array(
- 'resources' => array(
- 'modules' => array()
- )
- );
- ]]></programlisting>
- <note>
- <title>Dépendance envers le contrôleur frontal</title>
- <para>
- La ressource Modules possède une dépendance envers <link
- linkend="zend.application.available-resources.frontcontroller">la ressource Front
- Controller</link>. 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".
- </para>
- </note>
- <example id="zend.application.available-resources.modules.configExample">
- <title>Configurer les modules</title>
- <para>
- Vous pouvez spécifier la configuration en utilisant le nom du module comme préfixe
- de section dans le fichier de configuration.
- </para>
- <para>
- Par exemple, supposons que vous possédiez un module appelé "news". Voici des exemples
- <acronym>INI</acronym> et <acronym>XML</acronym> de fichiers de configuration pour ce
- module.
- </para>
- <programlisting language="ini"><![CDATA[
- [production]
- news.resources.db.adapter = "pdo_mysql"
- news.resources.db.params.host = "localhost"
- news.resources.db.params.username = "webuser"
- news.resources.db.params.password = "XXXXXXX"
- news.resources.db.params.dbname = "news"
- ]]></programlisting>
- <programlisting language="xml"><![CDATA[
- <?xml version="1.0"?>
- <config>
- <production>
- <news>
- <resources>
- <db>
- <adapter>pdo_mysql</adapter>
- <params>
- <host>localhost</host>
- <username>webuser</username>
- <password>XXXXXXX</password>
- <dbname>news</dbname>
- </params>
- <isDefaultAdapter>true</isDefaultAdapter>
- </db>
- </resources>
- </news>
- </production>
- </config>
- ]]></programlisting>
- </example>
- <example id="zend.application.available-resources.modules.retrieveBootstrapExample">
- <title>Récupérer un bootstrap de module</title>
- <para>
- 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 <methodname>getExecutedBootstraps()</methodname> peut être
- utilisée dans ce cas là, elle s'applique sur un objet ressource de modules.
- </para>
- <programlisting language="php"><![CDATA[
- $resource = $bootstrap->getPluginResource('modules');
- $moduleBootstraps = $resource->getExecutedBootstraps();
- $newsBootstrap = $moduleBootstraps['news'];
- ]]></programlisting>
- </example>
- </sect2>
|