| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect3 id="zend.controller.actionhelpers.actionstack">
- <title>ActionStack</title>
- <para>
- El helper
- <emphasis>ActionStack</emphasis>
- le permite empujar
- requerimientos al
- <link linkend="zend.controller.plugins.standard.actionstack">ActionStack</link>
- plugin del front controller, el cual le ayuda
- efectivamente a crear una cola de acciones a
- ejecutar durante la
- solicitud. El helper le permite añadir actions ya sea mediante la
- especificación de los objetos o una
- nueva solicitud action - controller - module.
- </para>
- <note>
- <title>Invocando al Ayudante ActionStack Inicializa el Plugin de
- ActionStack</title>
- <para>
- Invocando al helper
- <emphasis>ActionStack</emphasis>
- implicitamente registra el plugin de
- <emphasis>ActionStack</emphasis>
- -- lo que significa que no
- necesita registrar explícitamente el plugin de
- <emphasis>ActionStack</emphasis>
- para utilizar esta
- funcionalidad.
- </para>
- </note>
- <example id="zend.controller.actionhelpers.actionstack.simple">
- <title>Agregando una Tarea Usando Nombres de Acción, Controllador y
- Módulo</title>
- <para>
- A menudo, es más sencillo simplemente especificar la acción, el
- controlador y el módulo
- (y parámetros opcionales de requerimientos),
- tal como cuando llama a
- <methodname>Zend_Controller_Action::_forward()</methodname>
- :
- </para>
- <programlisting language="php"><![CDATA[
- class FooController extends Zend_Controller_Action
- {
- public function barAction()
- {
- // Agregar dos acciones a la pila (stack)
- // Y llamar a /foo/baz/bar/baz
- // (FooController::bazAction() con el requrimiento var bar == baz)
- $this->_helper->actionStack('baz',
- 'foo',
- 'default',
- array('bar' => 'baz'));
- // Agregar la llamada a /bar/bat
- // (BarController::batAction())
- $this->_helper->actionStack('bat', 'bar');
- }
- }
- ]]></programlisting>
- </example>
- <example id="zend.controller.actionhelpers.actionstack.simple2">
- <title>Agregando una Tarea al Objeto Solicitud (Request)</title>
- <para>
- A veces la naturaleza
- <acronym>OOP</acronym>
- de un objeto
- solicitud tiene más sentido; puede pasar también tal objeto al
- ayudante
- <emphasis>ActionStack</emphasis>
- .
- </para>
- <programlisting language="php"><![CDATA[
- class FooController extends Zend_Controller_Action
- {
- public function barAction()
- {
- // Agregar dos acciones al stack
- // Agregar la llamada a /foo/baz/bar/baz
- // (FooController::bazAction() with request var bar == baz)
- $request = clone $this->getRequest();
- // No establezca controlador o módulo; use los valores actuales
- $request->setActionName('baz')
- ->setParams(array('bar' => 'baz'));
- $this->_helper->actionStack($request);
- // Agregar la llamada a /bar/bat
- // (BarController::batAction())
- $request = clone $this->getRequest();
- // no establezca módulo; use el valor actual
- $request->setActionName('bat')
- ->setControllerName('bar');
- $this->_helper->actionStack($request);
- }
- }
- ]]></programlisting>
- </example>
- </sect3>
|