1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 16003 -->
4 <sect3 id="zend.controller.actionhelpers.actionstack">
5 <title>ActionStack</title>
9 <emphasis>ActionStack</emphasis>
12 <link linkend="zend.controller.plugins.standard.actionstack">ActionStack</link>
13 plugin del front controller, el cual le ayuda
14 efectivamente a crear una cola de acciones a
16 solicitud. El helper le permite añadir actions ya sea mediante la
17 especificación de los objetos o una
18 nueva solicitud action - controller - module.
22 <title>Invocando al Ayudante ActionStack Inicializa el Plugin de
27 <emphasis>ActionStack</emphasis>
28 implicitamente registra el plugin de
29 <emphasis>ActionStack</emphasis>
30 -- lo que significa que no
31 necesita registrar explícitamente el plugin de
32 <emphasis>ActionStack</emphasis>
38 <example id="zend.controller.actionhelpers.actionstack.simple">
39 <title>Agregando una Tarea Usando Nombres de Acción, Controllador y
43 A menudo, es más sencillo simplemente especificar la acción, el
44 controlador y el módulo
45 (y parámetros opcionales de requerimientos),
46 tal como cuando llama a
47 <methodname>Zend_Controller_Action::_forward()</methodname>
51 <programlisting language="php"><![CDATA[
52 class FooController extends Zend_Controller_Action
54 public function barAction()
56 // Agregar dos acciones a la pila (stack)
57 // Y llamar a /foo/baz/bar/baz
58 // (FooController::bazAction() con el requrimiento var bar == baz)
59 $this->_helper->actionStack('baz',
62 array('bar' => 'baz'));
64 // Agregar la llamada a /bar/bat
65 // (BarController::batAction())
66 $this->_helper->actionStack('bat', 'bar');
73 <example id="zend.controller.actionhelpers.actionstack.simple2">
74 <title>Agregando una Tarea al Objeto Solicitud (Request)</title>
78 <acronym>OOP</acronym>
80 solicitud tiene más sentido; puede pasar también tal objeto al
82 <emphasis>ActionStack</emphasis>
86 <programlisting language="php"><![CDATA[
87 class FooController extends Zend_Controller_Action
89 public function barAction()
91 // Agregar dos acciones al stack
92 // Agregar la llamada a /foo/baz/bar/baz
93 // (FooController::bazAction() with request var bar == baz)
94 $request = clone $this->getRequest();
95 // No establezca controlador o módulo; use los valores actuales
96 $request->setActionName('baz')
97 ->setParams(array('bar' => 'baz'));
98 $this->_helper->actionStack($request);
100 // Agregar la llamada a /bar/bat
101 // (BarController::batAction())
102 $request = clone $this->getRequest();
103 // no establezca módulo; use el valor actual
104 $request->setActionName('bat')
105 ->setControllerName('bar');
106 $this->_helper->actionStack($request);