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 Kontroller 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 Kontroller auf den Status des
angegebenen Anfrageobjekts, und markiert dieses als unerledigt (das forciert einen weiteren
Durchlauf der Dispatch Schleife).