Zend_Application-AvailableResources-Modules.xml 4.8 KB

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