1 <sect3 id="zend.controller.actionhelpers.actionstack">
2 <title>ActionStack</title>
5 תוסף העזרה <code>ActionStack</code> מאפשר לך לדחוף בקשות אל <link linkend="zend.controller.plugins.standard.actionstack">ActionStack</link> שנמצא בפרונט קונטרולר,
6 ובכך מאפשר לך ליצור תור של פעולות שצריך לבצע בזמן בקשה.
7 התוסף מאפשר לך להוסיף פעולות ופונקציות על ידי הגדרת אובייקטים חדשים או סטים של
8 action/controller/module.
12 <title>שימוש בתוסף ActionStack יקרא גם לפלאגין <code>ActionStack</code></title>
15 קריאה לתוסף <code>ActionStack</code> קורא מייד לפלאגין <code>ActionStack</code> -- וזה אומר שאין צורך ולקרוא לפלאגין <code>ActionStack</code> בצורה יחודית.
19 <example id="zend.controller.actionhelpers.actionstack.simple">
20 <title>הוספת משימה על ידי הוספת שמות של action / controller / module</title>
23 לעיתים, הכי פשוט יהיה להגדיר את ה action, controller, module בדיוק באותה מידע כשתרצו לקרוא ל <code>Zend_Controller_Action::_forward()</code>:
26 <programlisting role="php"><![CDATA[
27 class FooController extends Zend_Controller_Action
29 public function barAction()
31 // Add two actions to the stack
32 // Add call to /foo/baz/bar/baz
33 // (FooController::bazAction() with request var bar == baz)
34 $this->_helper->actionStack('baz',
37 array('bar' => 'baz'));
39 // Add call to /bar/bat
40 // (BarController::batAction())
41 $this->_helper->actionStack('bat', 'bar');
49 <example id="zend.controller.actionhelpers.actionstack.simple2">
50 <title>הוספת משימה על ידי אובייקט</title>
53 לפעמים שימוש ב OOP להעברת אובייקט לתוסף העזרה כדי להוסיף את הערך לערמה היא הדרך הטובה ביותר; תוכל לבצע זאת על ידי העברת אובייקט ל <code>ActionStack</code> :
56 <programlisting role="php"><![CDATA[
57 class FooController extends Zend_Controller_Action
59 public function barAction()
61 // Add two actions to the stack
62 // Add call to /foo/baz/bar/baz
63 // (FooController::bazAction() with request var bar == baz)
64 $request = clone $this->getRequest();
65 // Don't set controller or module; use current values
66 $request->setActionName('baz')
67 ->setParams(array('bar' => 'baz'));
68 $this->_helper->actionStack($request);
70 // Add call to /bar/bat
71 // (BarController::batAction())
72 $request = clone $this->getRequest();
73 // don't set module; use current value
74 $request->setActionName('bat')
75 ->setControllerName('bar');
76 $this->_helper->actionStack($request);