1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 20885 -->
4 <sect2 id="zend.application.available-resources.frontcontroller">
5 <title>Zend_Application_Resource_Frontcontroller</title>
8 Probablemente el recurso más común que se carga con
9 <classname>Zend_Application</classname>
10 será el recurso Front Controller
11 , que proporciona la habilidad para configurar
12 <classname>Zend_Controller_Front</classname>
14 la posibilidad de establecer parámetros arbitrarios del Front
16 especificar plugins para inicializar, y mucho más.
20 Una vez inicializado, el recurso asigna la propiedad del
21 <varname>$frontController</varname>
22 del bootstrap a la instancia
23 <classname>Zend_Controller_Front</classname>
28 Las claves de configuración disponibles incluyen las siguientes,
30 mayúsculas ó minúsculas:
37 <property>controllerDirectory</property>
39 :: ya sea un valor de string
40 especificando un único directorio controlador, o un array de
41 pares de directorio módulo/controlador.
48 <property>moduleControllerDirectoryName</property>
51 indicando el subdirectorio bajo el cual un módulo contiene controladores.
58 <property>moduleDirectory</property>
60 : directorio bajo el cual pueden
61 encontrarse los módulos.
68 <property>defaultControllerName</property>
70 : Nombre base del controlador por
71 defecto (normalmente, "índex").
77 <emphasis><property>defaultAction</property></emphasis>
78 : nombre base de la acción por defecto
79 (normalmente, "índex").
86 <property>defaultModule</property>
88 : nombre base del módulo por defecto
89 (normalmente, "default").
96 <property>baseUrl</property>
98 : base explícita a la <acronym>URL</acronym> de la aplicación
99 (normalmente auto-detect).
106 <property>plugins</property>
108 : array con los nombres de los plugins de las
109 clases de los Front Controllers.
110 El recurso instanciará a cada clase (sin argumentos al constructor)
111 y luego registra la instancia con el Front Controller. If you want to
112 register a plugin with a particular stack index, you need to provide an array with
113 two keys <property>class</property> and <property>stackIndex</property>.
121 <property>params</property>
123 : array de pares clave/valor para registrarse con
130 <emphasis><property>returnresponse</property></emphasis>: whether or not to return
131 the response object after dispatching the front controller. Value should be a
132 boolean; by default, this is disabled.
139 Si se ingresa una clave no reconocida, ésta será registrada como un
141 Controller pasándolo a
142 <methodname>setParam()</methodname>
146 <example id="zend.application.available-resources.frontcontroller.configExample">
147 <title>Ejemplo Front Controller resource configuration</title>
151 <acronym>INI</acronym>
152 es un snippet para mostrar cómo configurar
153 el recurso Front Controller.
156 <programlisting language="ini"><![CDATA[
158 resources.frontController.controllerDirectory = APPLICATION_PATH . "/controllers"
159 resources.frontController.moduleControllerDirectoryName = "actions"
160 resources.frontController.moduleController = APPLICATION_PATH . "/modules"
161 resources.frontController.defaultControllerName = "site"
162 resources.frontController.defaultAction = "home"
163 resources.frontController.defaultModule = "static"
164 resources.frontController.baseUrl = "/subdir"
165 resources.frontController.plugins.foo = "My_Plugin_Foo"
166 resources.frontController.plugins.bar = "My_Plugin_Bar"
167 resources.frontController.plugins.baz.class = "My_Plugin_Baz"
168 resources.frontController.plugins.baz.stackIndex = 123
169 resources.frontController.returnresponse = 1
170 resources.frontController.env = APPLICATION_ENV
173 <example id="zend.application.available-resources.frontcontroller.frontControllerPropertyExample">
174 <title>Recuperar el Front Controller de su arranque (bootstrap)</title>
176 Una vez que el recurso de su Front Controller ha sido inicializado,
177 se puede recuperar la
178 instancia de Front Controller a través de la
180 <varname>$frontController</varname>
184 <programlisting language="php"><![CDATA[
185 $bootstrap->bootstrap('frontController');
186 $front = $bootstrap->frontController;