Zend_Application-AvailableResources-Frontcontroller.xml 4.4 KB

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