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).