| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 16178 -->
- <!-- 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 <code>postDispatch</code> 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 LIFO Reihenfolge bearbeitet.
- </para>
- <para>
- Das Plugin kann jederzeit vom Front Kontroller empfangen werden indem
- <classname>Zend_Controller_Front::getPlugin('Zend_Controller_Plugin_ActionStack')</classname>
- 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 'Zend_Controller_Plugin_ActionStack'.
- </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 Kontroller auf den Status des
- angegebenen Anfrageobjekts, und markiert dieses als unerledigt (das forciert einen weiteren
- Durchlauf der Dispatch Schleife).
- </para>
- </sect3>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|