| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15103 -->
- <!-- Reviewed: no -->
- <sect3 id="zend.controller.plugins.standard.actionstack">
- <title>ActionStack</title>
- <para>
- Das<code>ActionStack</code> 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>
- <code>getRegistry()</code> und <code>setRegistry()</code>. Intern verwendet
- <code>ActionStack</code> 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>
- <code>getRegistryKey()</code> und <code>setRegistryKey()</code>. 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>
- <code>getStack()</code> erlaubt es den Stack von Aktionen in seiner Ganzheit zu
- empfangen.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>pushStack()</code> und <code>popStack()</code> erlauben es dem Stack etwas
- hinzuzufügen und auch zu entfernen. <code>pushStack()</code> akzeptiert ein
- Anfrageobjekt.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Eine zusätzliche Methode, <code>forward()</code>, 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:
- -->
|