Zend_Controller-Plugins-ActionStack.xml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15103 -->
  3. <!-- Reviewed: no -->
  4. <sect3 id="zend.controller.plugins.standard.actionstack">
  5. <title>ActionStack</title>
  6. <para>
  7. Das<code>ActionStack</code> Plugin erlaubt es einen Stack von Anfragen zu verwalten, und
  8. operiert als <code>postDispatch</code> Plugin. Wenn eine Weiterleitung (z.B. ein Aufruf zu
  9. einer anderen Aktion) bereits im aktuellen Anfrage Objekt gefunden wurde, führt es nicht
  10. durch. Trotzdem, wenn nicht, prüft es seinen Stack und entfernt den obersten Teil von Ihm
  11. und leitet diesen zu der Aktion weiter die in dieser Anfrage spezifiziert ist. Der Stack
  12. wird in der LIFO Reihenfolge bearbeitet.
  13. </para>
  14. <para>
  15. Das Plugin kann jederzeit vom Front Kontroller empfangen werden indem
  16. <classname>Zend_Controller_Front::getPlugin('Zend_Controller_Plugin_ActionStack')</classname>
  17. verwendet wird. Sobald das Plugin Objekt vorliegt, gibt es eine Anzahl von Mechanisman die
  18. verwendet werden können, um es zu manipulieren.
  19. </para>
  20. <itemizedlist>
  21. <listitem>
  22. <para>
  23. <code>getRegistry()</code> und <code>setRegistry()</code>. Intern verwendet
  24. <code>ActionStack</code> eine Instanz von <classname>Zend_Registry</classname> um
  25. den Stack zu speichern. Diese kann durch eine andere Registry Instanz ersetzt werden
  26. oder dieselbe mit diesen Zugriffsmethoden empfangen.
  27. </para>
  28. </listitem>
  29. <listitem>
  30. <para>
  31. <code>getRegistryKey()</code> und <code>setRegistryKey()</code>. Diese können
  32. verwendet werden um anzuzeigen welcher Registryschlüssel verwendet wird wenn der
  33. Stack herausgenommen wird. Der Standardwert ist
  34. 'Zend_Controller_Plugin_ActionStack'.
  35. </para>
  36. </listitem>
  37. <listitem>
  38. <para>
  39. <code>getStack()</code> erlaubt es den Stack von Aktionen in seiner Ganzheit zu
  40. empfangen.
  41. </para>
  42. </listitem>
  43. <listitem>
  44. <para>
  45. <code>pushStack()</code> und <code>popStack()</code> erlauben es dem Stack etwas
  46. hinzuzufügen und auch zu entfernen. <code>pushStack()</code> akzeptiert ein
  47. Anfrageobjekt.
  48. </para>
  49. </listitem>
  50. </itemizedlist>
  51. <para>
  52. Eine zusätzliche Methode, <code>forward()</code>, erwartet ein Anfrageobjekt, und setzt den
  53. Status des aktellen Anfrageobjektes im Front Kontroller auf den Status des angegebenen
  54. Anfrageobjekts, und markiert dieses als unerledigt (das forciert einen weiteren Durchlauf
  55. der Dispatch Schleife).
  56. </para>
  57. </sect3>
  58. <!--
  59. vim:se ts=4 sw=4 et:
  60. -->