Zend_Controller-Plugins-ActionStack.xml 3.0 KB

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