2
0

Zend_Application-AvailableResources-Frontcontroller.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15103 -->
  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> será el recurso Front Controller
  9. , que proporciona la habilidad para configurar
  10. <classname>Zend_Controller_Front</classname>. Este recurso ofrece
  11. la posibilidad de establecer parámetros arbitrarios del Front Controller,
  12. especificar plugins para inicializar, y mucho más.
  13. </para>
  14. <para>
  15. Una vez inicializado, el recurso asigna la propiedad del
  16. <code>frontController</code> del bootstrap a la instancia
  17. <classname>Zend_Controller_Front</classname>.
  18. </para>
  19. <para>
  20. Las claves de configuración disponibles incluyen las siguientes,
  21. sin importar si son mayúsculas ó minúsculas:
  22. </para>
  23. <itemizedlist>
  24. <listitem><para>
  25. <code>controllerDirectory</code>: ya sea un valor de string
  26. especificando un único directorio controlador, o un array de
  27. pares de directorio módulo/controlador.
  28. </para></listitem>
  29. <listitem><para>
  30. <code>moduleControllerDirectoryName</code>: un valor de string
  31. indicando el subdirectorio bajo el cual un módulo contiene controladores.
  32. </para></listitem>
  33. <listitem><para>
  34. <code>moduleDirectory</code>: directorio bajo el cual pueden
  35. encontrarse los módulos.
  36. </para></listitem>
  37. <listitem><para>
  38. <code>defaultControllerName</code>: Nombre base del controlador por
  39. defecto (normalmente, "índex").
  40. </para></listitem>
  41. <listitem><para>
  42. <code>defaultAction</code>: nombre base de la acción por defecto
  43. (normalmente, "índex").
  44. </para></listitem>
  45. <listitem><para>
  46. <code>defaultModule</code>: nombre base del módulo por defecto
  47. (normalmente, "default").
  48. </para></listitem>
  49. <listitem><para>
  50. <code>baseUrl</code>: base explícita a la URL de la aplicación
  51. (normalmente auto-detect).
  52. </para></listitem>
  53. <listitem><para>
  54. <code>plugins</code>: array con los nombres de los plugins de las
  55. clases de los Front Controllers.
  56. El recurso instanciará a cada clase (sin argumentos al constructor)
  57. y luego registra la instancia con el Front Controller.
  58. </para></listitem>
  59. <listitem><para>
  60. <code>params</code>: array de pares clave/valor para registrarse con
  61. el front controller.
  62. </para></listitem>
  63. </itemizedlist>
  64. <para>
  65. Si se ingresa una clave no reconocida, ésta será registrada como un
  66. parámetro de Front Controller pasándolo a <code>setParam()</code>.
  67. </para>
  68. <example id="zend.application.available-resources.frontcontroller.configExample">
  69. <title>Ejemplo Front Controller resource configuration</title>
  70. <para>
  71. A continuación, INI es un snippet para mostrar cómo configurar
  72. el recurso Front Controller.
  73. </para>
  74. <programlisting role="ini"><![CDATA[
  75. [production]
  76. resources.frontController.controllerDirectory = APPLICATION_PATH . "/controllers"
  77. resources.frontController.moduleControllerDirectoryName = "actions"
  78. resources.frontController.moduleController = APPLICATION_PATH . "/modules"
  79. resources.frontController.defaultControllerName = "site"
  80. resources.frontController.defaultAction = "home"
  81. resources.frontController.defaultModule = "static"
  82. resources.frontController.baseUrl = "/subdir"
  83. resources.frontController.plugins.foo = "My_Plugin_Foo"
  84. resources.frontController.plugins.bar = "My_Plugin_Bar"
  85. resources.frontController.env = APPLICATION_ENV
  86. ]]></programlisting>
  87. </example>
  88. <example id="zend.application.available-resources.frontcontroller.frontControllerPropertyExample">
  89. <title>Recuperar el Front Controller de su arranque (bootstrap)</title>
  90. <para>
  91. Una vez que el recurso de su Front Controller ha sido inicializado,
  92. se puede recuperar la instancia de Front Controller a través de la
  93. propiedad <code>frontController</code> de su bootstrap.
  94. </para>
  95. <programlisting role="php"><![CDATA[
  96. $bootstrap->bootstrap('frontController');
  97. $front = $bootstrap->frontController;
  98. ]]></programlisting>
  99. </example>
  100. </sect2>