Zend_Application-AvailableResources-Modules.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 18178 -->
  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>
  8. se utiliza
  9. para inicializar sus módulos de aplicación. Si su módulo tiene un
  10. archivo
  11. <filename>Bootstrap.php</filename>
  12. en su raíz, y contiene una clase
  13. llamada
  14. <classname>Module_Bootstrap</classname>
  15. (donde "Module" es el nombre del
  16. módulo), entonces usará esa clase para arrancar el módulo.
  17. </para>
  18. <para>
  19. Por defecto, se creará una instancia de
  20. <classname>Zend_Application_Module_Autoloader</classname>
  21. para el
  22. módulo, utilizando el nombre del módulo y del directorio para
  23. inicializarlo.
  24. </para>
  25. <para>
  26. Ya que los módulos no reciben ningún parámetro por defecto, para poder activarlos via
  27. configuración,
  28. será necesario crearlo como un array vacío. Seguiendo el estilo de
  29. configuración
  30. <acronim>INI</acronim>
  31. será similar a:
  32. </para>
  33. <programlisting language="ini"><![CDATA[resources.modules[] =]]></programlisting>
  34. <para>
  35. Siguiendo el estilo de configuración
  36. <acronym>XML</acronym>
  37. será similar a:
  38. </para>
  39. <programlisting language="xml"><![CDATA[
  40. <resources>
  41. <modules>
  42. <!-- Placeholder to ensure an array is created -->
  43. <placeholder />
  44. </modules>
  45. </resources>
  46. ]]></programlisting>
  47. <para>
  48. Utilizando un array
  49. <acronym>PHP</acronym>
  50. estandar, simplemente creelo como un array vacío:
  51. </para>
  52. <programlisting language="php"><![CDATA[
  53. $options = array(
  54. 'resources' => array(
  55. 'modules' => array(),
  56. ),
  57. );
  58. ]]></programlisting>
  59. <note>
  60. <title>Dependencia de Recursos del Front Controller</title>
  61. <para>
  62. El recurso Modules tiene una dependencia de
  63. <link linkend="zend.application.available-resources.frontcontroller">
  64. Front Controller resource</link>
  65. . Usted puede, por supuesto,
  66. proporcionar su propia sustitución de ese recurso mediante
  67. un
  68. recurso personalizado de la clase Front Controller o un método
  69. inicializador de la
  70. clase -- tan largo como se quiera siempre que
  71. el plugin del recurso de la clase termine
  72. en "Frontcontroller"
  73. o el método inicializador se llame "_initFrontController"
  74. (case
  75. insensible).
  76. </para>
  77. </note>
  78. <example id="zend.application.available-resources.modules.configExample">
  79. <title>Configurando Módulos</title>
  80. <para>
  81. Usted puede especificar una configuración específica de un módulo
  82. utilizando el nombre
  83. del módulo como un prefijo/sub-sección en su
  84. archivo de configuración.
  85. </para>
  86. <para>
  87. Por ejemplo, supongamos que su aplicación tiene un módulo "noticias".
  88. Los siguientes son
  89. ejemplos de
  90. <acronym>INI</acronym>
  91. y
  92. <acronym>XML</acronym>
  93. que muestran la
  94. configuración de recursos en ese módulo.
  95. </para>
  96. <programlisting language="ini"><![CDATA[
  97. [production]
  98. news.resources.db.adapter = "pdo_mysql"
  99. news.resources.db.params.host = "localhost"
  100. news.resources.db.params.username = "webuser"
  101. news.resources.db.params.password = "XXXXXXX"
  102. news.resources.db.params.dbname = "news"
  103. news.resources.layout.layout = "news"
  104. ]]></programlisting>
  105. <programlisting language="xml"><![CDATA[
  106. <?xml version="1.0"?>
  107. <config>
  108. <production>
  109. <news>
  110. <resources>
  111. <db>
  112. <adapter>pdo_mysql</adapter>
  113. <params>
  114. <host>localhost</host>
  115. <username>webuser</username>
  116. <password>XXXXXXX</password>
  117. <dbname>news</dbname>
  118. </params>
  119. <isDefaultAdapter>true</isDefaultAdapter>
  120. </db>
  121. </resources>
  122. </news>
  123. </production>
  124. </config>
  125. ]]></programlisting>
  126. </example>
  127. <example id="zend.application.available-resources.modules.retrieveBootstrapExample">
  128. <title>Recuperando el bootstrap de un módulo específico</title>
  129. <para>
  130. En ocasiones, puede que necesite para recuperar el objeto bootstrap
  131. de un módulo
  132. específico -- tal vez para ejecutar discretos
  133. métodos bootstrap ,o a recoger el cargador
  134. automático con el fin de
  135. configurarlo. Esto puede hacerse utilizando el método
  136. <methodname>getExecutedBootstraps()</methodname>
  137. de los recursos de Módulo.
  138. </para>
  139. <programlisting language="php"><![CDATA[
  140. $resource = $bootstrap->getPluginResource('modules');
  141. $moduleBootstraps = $resource->getExecutedBootstraps();
  142. $newsBootstrap = $moduleBootstraps['news'];
  143. ]]></programlisting>
  144. </example>
  145. </sect2>