Zend_Application-AvailableResources-Frontcontroller.xml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 16847 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.application.available-resources.frontcontroller">
  5. <title>Zend_Application_Resource_Frontcontroller</title>
  6. <para>
  7. Probablemente el recurso más común que se carga con
  8. <classname>Zend_Application</classname>
  9. será el recurso Front Controller
  10. , que proporciona la habilidad para configurar
  11. <classname>Zend_Controller_Front</classname>
  12. . Este recurso ofrece
  13. la posibilidad de establecer parámetros arbitrarios del Front
  14. Controller,
  15. especificar plugins para inicializar, y mucho más.
  16. </para>
  17. <para>
  18. Una vez inicializado, el recurso asigna la propiedad del
  19. <varname>$frontController</varname>
  20. del bootstrap a la instancia
  21. <classname>Zend_Controller_Front</classname>
  22. .
  23. </para>
  24. <para>
  25. Las claves de configuración disponibles incluyen las siguientes,
  26. sin importar si son
  27. mayúsculas ó minúsculas:
  28. </para>
  29. <itemizedlist>
  30. <listitem>
  31. <para>
  32. <emphasis>
  33. <property>controllerDirectory</property>
  34. </emphasis>
  35. :: ya sea un valor de string
  36. especificando un único directorio controlador, o un array de
  37. pares de directorio módulo/controlador.
  38. </para>
  39. </listitem>
  40. <listitem>
  41. <para>
  42. <emphasis>
  43. <property>moduleControllerDirectoryName</property>
  44. </emphasis>
  45. : un valor de string
  46. indicando el subdirectorio bajo el cual un módulo contiene controladores.
  47. </para>
  48. </listitem>
  49. <listitem>
  50. <para>
  51. <emphasis>
  52. <property>moduleDirectory</property>
  53. </emphasis>
  54. : directorio bajo el cual pueden
  55. encontrarse los módulos.
  56. </para>
  57. </listitem>
  58. <listitem>
  59. <para>
  60. <emphasis>
  61. <property>defaultControllerName</property>
  62. </emphasis>
  63. : Nombre base del controlador por
  64. defecto (normalmente, "índex").
  65. </para>
  66. </listitem>
  67. <listitem>
  68. <para>
  69. <emphasis><property>defaultAction</property></emphasis>
  70. : nombre base de la acción por defecto
  71. (normalmente, "índex").
  72. </para>
  73. </listitem>
  74. <listitem>
  75. <para>
  76. <emphasis>
  77. <property>defaultModule</property>
  78. </emphasis>
  79. : nombre base del módulo por defecto
  80. (normalmente, "default").
  81. </para>
  82. </listitem>
  83. <listitem>
  84. <para>
  85. <emphasis>
  86. <property>baseUrl</property>
  87. </emphasis>
  88. : base explícita a la URL de la aplicación
  89. (normalmente auto-detect).
  90. </para>
  91. </listitem>
  92. <listitem>
  93. <para>
  94. <emphasis>
  95. <property>plugins</property>
  96. </emphasis>
  97. : array con los nombres de los plugins de las
  98. clases de los Front Controllers.
  99. El recurso instanciará a cada clase (sin argumentos al constructor)
  100. y luego registra la instancia con el Front Controller.
  101. </para>
  102. </listitem>
  103. <listitem>
  104. <para>
  105. <emphasis>
  106. <property>params</property>
  107. </emphasis>
  108. : array de pares clave/valor para registrarse con
  109. el front controller.
  110. </para>
  111. </listitem>
  112. </itemizedlist>
  113. <para>
  114. Si se ingresa una clave no reconocida, ésta será registrada como un
  115. parámetro de Front
  116. Controller pasándolo a
  117. <methodname>setParam()</methodname>
  118. .
  119. </para>
  120. <example id="zend.application.available-resources.frontcontroller.configExample">
  121. <title>Ejemplo Front Controller resource configuration</title>
  122. <para>
  123. A continuación,
  124. <acronym>INI</acronym>
  125. es un snippet para mostrar cómo configurar
  126. el recurso Front Controller.
  127. </para>
  128. <programlisting language="ini"><![CDATA[
  129. [production]
  130. resources.frontController.controllerDirectory = APPLICATION_PATH . "/controllers"
  131. resources.frontController.moduleControllerDirectoryName = "actions"
  132. resources.frontController.moduleController = APPLICATION_PATH . "/modules"
  133. resources.frontController.defaultControllerName = "site"
  134. resources.frontController.defaultAction = "home"
  135. resources.frontController.defaultModule = "static"
  136. resources.frontController.baseUrl = "/subdir"
  137. resources.frontController.plugins.foo = "My_Plugin_Foo"
  138. resources.frontController.plugins.bar = "My_Plugin_Bar"
  139. resources.frontController.env = APPLICATION_ENV
  140. ]]></programlisting>
  141. </example>
  142. <example id="zend.application.available-resources.frontcontroller.frontControllerPropertyExample">
  143. <title>Recuperar el Front Controller de su arranque (bootstrap)</title>
  144. <para>
  145. Una vez que el recurso de su Front Controller ha sido inicializado,
  146. se puede recuperar la
  147. instancia de Front Controller a través de la
  148. propiedad
  149. <varname>$frontController</varname>
  150. de su bootstrap.
  151. </para>
  152. <programlisting language="php"><![CDATA[
  153. $bootstrap->bootstrap('frontController');
  154. $front = $bootstrap->frontController;
  155. ]]></programlisting>
  156. </example>
  157. </sect2>