| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.application.available-resources.frontcontroller">
- <title>Zend_Application_Resource_Frontcontroller</title>
- <para>
- Probablemente el recurso más común que se carga con
- <classname>Zend_Application</classname>
- será el recurso Front Controller
- , que proporciona la habilidad para configurar
- <classname>Zend_Controller_Front</classname>
- . Este recurso ofrece
- la posibilidad de establecer parámetros arbitrarios del Front
- Controller,
- especificar plugins para inicializar, y mucho más.
- </para>
- <para>
- Una vez inicializado, el recurso asigna la propiedad del
- <varname>$frontController</varname>
- del bootstrap a la instancia
- <classname>Zend_Controller_Front</classname>
- .
- </para>
- <para>
- Las claves de configuración disponibles incluyen las siguientes,
- sin importar si son
- mayúsculas ó minúsculas:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>
- <property>controllerDirectory</property>
- </emphasis>
- :: ya sea un valor de string
- especificando un único directorio controlador, o un array de
- pares de directorio módulo/controlador.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>
- <property>moduleControllerDirectoryName</property>
- </emphasis>
- : un valor de string
- indicando el subdirectorio bajo el cual un módulo contiene controladores.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>
- <property>moduleDirectory</property>
- </emphasis>
- : directorio bajo el cual pueden
- encontrarse los módulos.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>
- <property>defaultControllerName</property>
- </emphasis>
- : Nombre base del controlador por
- defecto (normalmente, "índex").
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>defaultAction</property></emphasis>
- : nombre base de la acción por defecto
- (normalmente, "índex").
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>
- <property>defaultModule</property>
- </emphasis>
- : nombre base del módulo por defecto
- (normalmente, "default").
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>
- <property>baseUrl</property>
- </emphasis>
- : base explícita a la <acronym>URL</acronym> de la aplicación
- (normalmente auto-detect).
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>
- <property>plugins</property>
- </emphasis>
- : array con los nombres de los plugins de las
- clases de los Front Controllers.
- El recurso instanciará a cada clase (sin argumentos al constructor)
- y luego registra la instancia con el Front Controller. If you want to
- register a plugin with a particular stack index, you need to provide an array with
- two keys <property>class</property> and <property>stackIndex</property>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>
- <property>params</property>
- </emphasis>
- : array de pares clave/valor para registrarse con
- el front controller.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>returnresponse</property></emphasis>: whether or not to return
- the response object after dispatching the front controller. Value should be a
- boolean; by default, this is disabled.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Si se ingresa una clave no reconocida, ésta será registrada como un
- parámetro de Front
- Controller pasándolo a
- <methodname>setParam()</methodname>
- .
- </para>
- <example id="zend.application.available-resources.frontcontroller.configExample">
- <title>Ejemplo Front Controller resource configuration</title>
- <para>
- A continuación,
- <acronym>INI</acronym>
- es un snippet para mostrar cómo configurar
- el recurso Front Controller.
- </para>
- <programlisting language="ini"><![CDATA[
- [production]
- resources.frontController.controllerDirectory = APPLICATION_PATH . "/controllers"
- resources.frontController.moduleControllerDirectoryName = "actions"
- resources.frontController.moduleController = APPLICATION_PATH . "/modules"
- resources.frontController.defaultControllerName = "site"
- resources.frontController.defaultAction = "home"
- resources.frontController.defaultModule = "static"
- resources.frontController.baseUrl = "/subdir"
- resources.frontController.plugins.foo = "My_Plugin_Foo"
- resources.frontController.plugins.bar = "My_Plugin_Bar"
- resources.frontController.plugins.baz.class = "My_Plugin_Baz"
- resources.frontController.plugins.baz.stackIndex = 123
- resources.frontController.returnresponse = 1
- resources.frontController.env = APPLICATION_ENV
- ; The following proxies to:
- ; Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
- resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"
- ]]></programlisting>
- </example>
- <example id="zend.application.available-resources.frontcontroller.frontControllerPropertyExample">
- <title>Recuperar el Front Controller de su arranque (bootstrap)</title>
- <para>
- Una vez que el recurso de su Front Controller ha sido inicializado,
- se puede recuperar la
- instancia de Front Controller a través de la
- propiedad
- <varname>$frontController</varname>
- de su bootstrap.
- </para>
- <programlisting language="php"><![CDATA[
- $bootstrap->bootstrap('frontController');
- $front = $bootstrap->frontController;
- ]]></programlisting>
- </example>
- </sect2>
|