Zend_Application-AvailableResources-Modules.xml 4.9 KB

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