# ActionStack

Das ActionStack Plugin erlaubt es einen Stack von Anfragen zu verwalten, und operiert als postDispatch 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.

Das Plugin kann jederzeit vom Front Controller empfangen werden indem `Zend_Controller_Front::getPlugin('Zend_Controller_Plugin_ActionStack')` verwendet wird. Sobald das Plugin Objekt vorliegt, gibt es eine Anzahl von Mechanisman die verwendet werden können, um es zu manipulieren.

- `getRegistry()` und `setRegistry()`. Intern verwendet ActionStack eine Instanz von `Zend_Registry` um den Stack zu speichern. Diese kann durch eine andere Registry Instanz ersetzt werden oder dieselbe mit diesen Zugriffsmethoden empfangen.

- `getRegistryKey()` und `setRegistryKey()`. Diese können verwendet werden um anzuzeigen welcher Registryschlüssel verwendet wird wenn der Stack herausgenommen wird. Der Standardwert ist '`Zend_Controller_Plugin_ActionStack`'.

- `getStack()` erlaubt es den Stack von Aktionen in seiner Ganzheit zu empfangen.

- `pushStack()` und `popStack()` erlauben es dem Stack etwas hinzuzufügen und auch zu entfernen. `pushStack()` akzeptiert ein Anfrageobjekt.

Eine zusätzliche Methode, `forward()`, 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).