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