| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 16003 -->
- <!-- 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>
|