Zend_Application-AvailableResources-Modules.xml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 16179 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.application.available-resources.modules">
  5. <title>Zend_Application_Resource_Modules</title>
  6. <para>
  7. <classname>Zend_Application_Resource_Modules</classname> est utilisé pour initialiser
  8. les modules de votre application. Si votre module possède un fichier
  9. <filename>Bootstrap.php</filename> à sa racine, et que celui-ci contient une classe nommée
  10. <classname>Module_Bootstrap</classname> (où "Module" est le nom du module),
  11. alors celle-ci sera utiliser pour lancer votre module.
  12. </para>
  13. <para>
  14. Par défaut, une instance de
  15. <classname>Zend_Application_Module_Autoloader</classname> sera créée pour le module en
  16. question, utilisant le nom du module et son dossier pour s'initialiser.
  17. </para>
  18. <note>
  19. <title>Dépendance envers le contrôleur frontal</title>
  20. <para>
  21. La ressource Modules possède une dépendance envers <link
  22. linkend="zend.application.available-resources.frontcontroller">la ressource Front
  23. Controller</link>. Vous pouvez bien sûr proposer votre propre implémentation de la
  24. ressource du contrôleur frontal, si tant est que sa classe se termine par
  25. "Frontcontroller", ou, si vous choisissez d'utiliser une méthode d'initialisation,
  26. celle-ci doit être "_initFrontController".
  27. </para>
  28. </note>
  29. <example id="zend.application.available-resources.modules.configExample">
  30. <title>Configurer les modules</title>
  31. <para>
  32. Vous pouvez spécifier la configuration en utilisant le nom du module comme préfixe
  33. de section dans le fichier de configuration.
  34. </para>
  35. <para>
  36. Par exemple, supposons que vous possédiez un module appelé "news". Voici des exemples
  37. <acronym>INI</acronym> et <acronym>XML</acronym> de fichiers de configuration pour ce
  38. module.
  39. </para>
  40. <programlisting language="ini"><![CDATA[
  41. [production]
  42. news.resources.db.adapter = "pdo_mysql"
  43. news.resources.db.params.host = "localhost"
  44. news.resources.db.params.username = "webuser"
  45. news.resources.db.params.password = "XXXXXXX"
  46. news.resources.db.params.dbname = "news"
  47. news.resources.layout.layout = "news"
  48. ]]></programlisting>
  49. <programlisting language="xml"><![CDATA[
  50. <?xml version="1.0"?>
  51. <config>
  52. <production>
  53. <news>
  54. <resources>
  55. <db>
  56. <adapter>pdo_mysql</adapter>
  57. <params>
  58. <host>localhost</host>
  59. <username>webuser</username>
  60. <password>XXXXXXX</password>
  61. <dbname>news</dbname>
  62. </params>
  63. <isDefaultAdapter>true</isDefaultAdapter>
  64. </db>
  65. </resources>
  66. </news>
  67. </production>
  68. </config>
  69. ]]></programlisting>
  70. </example>
  71. <example id="zend.application.available-resources.modules.retrieveBootstrapExample">
  72. <title>Récupérer un bootstrap de module</title>
  73. <para>
  74. Il peut être utile de pouvoir récupérer l'objet bootstrap de votre module, pour en
  75. exécuter par exemple des méthodes spécifiques, ou encore pour en récupérer
  76. l'autoloader. La méthode <methodname>getExecutedBootstraps()</methodname> peut être
  77. utilisée dans ce cas là, elle s'applique sur un objet ressource de modules.
  78. </para>
  79. <programlisting language="php"><![CDATA[
  80. $resource = $bootstrap->getPluginResource('modules');
  81. $moduleBootstraps = $resource->getExecutedBootstraps();
  82. $newsBootstrap = $moduleBootstraps['news'];
  83. ]]></programlisting>
  84. </example>
  85. </sect2>