| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect3 id="zend.controller.plugins.standard.actionstack">
- <title>ActionStack</title>
- <para>
- Das <emphasis>ActionStack</emphasis> Plugin erlaubt es einen Stack von Anfragen zu
- verwalten, und operiert als <emphasis>postDispatch</emphasis> Plugin. Wenn eine
- Weiterleitung (z.B. ein Aufruf zu einer anderen Aktion) bereits im aktuellen Anfrage Objekt
- gefunden wurde, führt es nicht durch. Trotzdem, wenn nicht, prüft es seinen Stack und
- entfernt den obersten Teil von Ihm und leitet diesen zu der Aktion weiter die in dieser
- Anfrage spezifiziert ist. Der Stack wird in der <acronym>LIFO</acronym> Reihenfolge
- bearbeitet.
- </para>
- <para>
- Das Plugin kann jederzeit vom Front Controller empfangen werden indem
- <methodname>Zend_Controller_Front::getPlugin('Zend_Controller_Plugin_ActionStack')</methodname>
- verwendet wird. Sobald das Plugin Objekt vorliegt, gibt es eine Anzahl von Mechanisman die
- verwendet werden können, um es zu manipulieren.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>getRegistry()</methodname> und <methodname>setRegistry()</methodname>.
- Intern verwendet <emphasis>ActionStack</emphasis> eine Instanz von
- <classname>Zend_Registry</classname> um den Stack zu speichern. Diese kann durch
- eine andere Registry Instanz ersetzt werden oder dieselbe mit diesen
- Zugriffsmethoden empfangen.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getRegistryKey()</methodname> und
- <methodname>setRegistryKey()</methodname>. Diese können verwendet werden um
- anzuzeigen welcher Registryschlüssel verwendet wird wenn der Stack herausgenommen
- wird. Der Standardwert ist
- '<classname>Zend_Controller_Plugin_ActionStack</classname>'.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getStack()</methodname> erlaubt es den Stack von Aktionen in seiner
- Ganzheit zu empfangen.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>pushStack()</methodname> und <methodname>popStack()</methodname>
- erlauben es dem Stack etwas hinzuzufügen und auch zu entfernen.
- <methodname>pushStack()</methodname> akzeptiert ein Anfrageobjekt.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Eine zusätzliche Methode, <methodname>forward()</methodname>, erwartet ein Anfrageobjekt,
- und setzt den Status des aktellen Anfrageobjektes im Front Controller auf den Status des
- angegebenen Anfrageobjekts, und markiert dieses als unerledigt (das forciert einen weiteren
- Durchlauf der Dispatch Schleife).
- </para>
- </sect3>
|