Zend_Application-AvailableResources-Modules.xml 3.7 KB

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