Zend_Controller-ActionHelpers-ActionStack.xml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <sect3 id="zend.controller.actionhelpers.actionstack">
  2. <title>ActionStack</title>
  3. <para>
  4. תוסף העזרה <code>ActionStack</code> מאפשר לך לדחוף בקשות אל <link linkend="zend.controller.plugins.standard.actionstack">ActionStack</link> שנמצא בפרונט קונטרולר,
  5. ובכך מאפשר לך ליצור תור של פעולות שצריך לבצע בזמן בקשה.
  6. התוסף מאפשר לך להוסיף פעולות ופונקציות על ידי הגדרת אובייקטים חדשים או סטים של
  7. action/controller/module.
  8. </para>
  9. <note>
  10. <title>שימוש בתוסף ActionStack יקרא גם לפלאגין <code>ActionStack</code></title>
  11. <para>
  12. קריאה לתוסף <code>ActionStack</code> קורא מייד לפלאגין <code>ActionStack</code> -- וזה אומר שאין צורך ולקרוא לפלאגין <code>ActionStack</code> בצורה יחודית.
  13. </para>
  14. </note>
  15. <example id="zend.controller.actionhelpers.actionstack.simple">
  16. <title>הוספת משימה על ידי הוספת שמות של action / controller / module</title>
  17. <para>
  18. לעיתים, הכי פשוט יהיה להגדיר את ה action, controller, module בדיוק באותה מידע כשתרצו לקרוא ל <code>Zend_Controller_Action::_forward()</code>:
  19. </para>
  20. <programlisting role="php"><![CDATA[
  21. class FooController extends Zend_Controller_Action
  22. {
  23. public function barAction()
  24. {
  25. // Add two actions to the stack
  26. // Add call to /foo/baz/bar/baz
  27. // (FooController::bazAction() with request var bar == baz)
  28. $this->_helper->actionStack('baz',
  29. 'foo',
  30. 'default',
  31. array('bar' => 'baz'));
  32. // Add call to /bar/bat
  33. // (BarController::batAction())
  34. $this->_helper->actionStack('bat', 'bar');
  35. }
  36. }
  37. ]]>
  38. </programlisting>
  39. </example>
  40. <example id="zend.controller.actionhelpers.actionstack.simple2">
  41. <title>הוספת משימה על ידי אובייקט</title>
  42. <para>
  43. לפעמים שימוש ב OOP להעברת אובייקט לתוסף העזרה כדי להוסיף את הערך לערמה היא הדרך הטובה ביותר; תוכל לבצע זאת על ידי העברת אובייקט ל <code>ActionStack</code> :
  44. </para>
  45. <programlisting role="php"><![CDATA[
  46. class FooController extends Zend_Controller_Action
  47. {
  48. public function barAction()
  49. {
  50. // Add two actions to the stack
  51. // Add call to /foo/baz/bar/baz
  52. // (FooController::bazAction() with request var bar == baz)
  53. $request = clone $this->getRequest();
  54. // Don't set controller or module; use current values
  55. $request->setActionName('baz')
  56. ->setParams(array('bar' => 'baz'));
  57. $this->_helper->actionStack($request);
  58. // Add call to /bar/bat
  59. // (BarController::batAction())
  60. $request = clone $this->getRequest();
  61. // don't set module; use current value
  62. $request->setActionName('bat')
  63. ->setControllerName('bar');
  64. $this->_helper->actionStack($request);
  65. }
  66. }
  67. ]]>
  68. </programlisting>
  69. </example>
  70. </sect3>
  71. <!--
  72. vim:se ts=4 sw=4 et:
  73. -->