<sect3 id="zend.controller.actionhelpers.actionstack">
    <title>ActionStack</title>

    <para>
    	תוסף העזרה <code>ActionStack</code> מאפשר לך לדחוף בקשות אל <link linkend="zend.controller.plugins.standard.actionstack">ActionStack</link> שנמצא בפרונט קונטרולר,
		ובכך מאפשר לך ליצור תור של פעולות שצריך לבצע בזמן בקשה. 
		התוסף מאפשר לך להוסיף פעולות ופונקציות על ידי הגדרת אובייקטים חדשים או סטים של
		action/controller/module.
    </para>

    <note>
        <title>שימוש בתוסף ActionStack יקרא גם לפלאגין <code>ActionStack</code></title>

        <para>
        	קריאה לתוסף <code>ActionStack</code> קורא מייד לפלאגין <code>ActionStack</code> -- וזה אומר שאין צורך ולקרוא לפלאגין <code>ActionStack</code> בצורה יחודית.
        </para>
    </note>

    <example id="zend.controller.actionhelpers.actionstack.simple">
        <title>הוספת משימה על ידי הוספת שמות של action / controller / module</title>

        <para>
        	לעיתים, הכי פשוט יהיה להגדיר את ה action, controller, module בדיוק באותה מידע כשתרצו לקרוא ל <code>Zend_Controller_Action::_forward()</code>:
        </para>

        <programlisting role="php"><![CDATA[
class FooController extends Zend_Controller_Action
{
    public function barAction()
    {
        // Add two actions to the stack
        // Add call to /foo/baz/bar/baz
        // (FooController::bazAction() with request var bar == baz)
        $this->_helper->actionStack('baz',
                                    'foo',
                                    'default',
                                    array('bar' => 'baz'));

        // Add call to /bar/bat
        // (BarController::batAction())
        $this->_helper->actionStack('bat', 'bar');
    }
}
]]>
        </programlisting>

    </example>

    <example id="zend.controller.actionhelpers.actionstack.simple2">
        <title>הוספת משימה על ידי אובייקט</title>

        <para>
        	לפעמים שימוש ב OOP להעברת אובייקט לתוסף העזרה כדי להוסיף את הערך לערמה היא הדרך הטובה ביותר; תוכל לבצע זאת על ידי העברת אובייקט ל  <code>ActionStack</code>  :
        </para>

        <programlisting role="php"><![CDATA[
class FooController extends Zend_Controller_Action
{
    public function barAction()
    {
        // Add two actions to the stack
        // Add call to /foo/baz/bar/baz
        // (FooController::bazAction() with request var bar == baz)
        $request = clone $this->getRequest();
        // Don't set controller or module; use current values
        $request->setActionName('baz')
                ->setParams(array('bar' => 'baz'));
        $this->_helper->actionStack($request);

        // Add call to /bar/bat
        // (BarController::batAction())
        $request = clone $this->getRequest();
        // don't set module; use current value
        $request->setActionName('bat')
                ->setControllerName('bar');
        $this->_helper->actionStack($request);
    }
}
]]>
        </programlisting>
    </example>
</sect3>
<!--
vim:se ts=4 sw=4 et:
-->
