ActionStack
Der ActionStack Helfer erlaubt das Verschieben von Anfragen zum ActionStack Front
Controller Plugin, welches effektiv hilft um eine Queue von Aktionen zu erstellen die wärend
der Anfrage ausgeführt wird. Der Helfer erlaubt das hinzufügen von Aktionen entweder durch
Spezifikation von neuen Anfrage Objekten oder Aktion - Controller - Modul Sets.
Der Aufruf des ActionStack Helpers inizialisiert das ActionStack Plugin
Der Aufruf des ActionStack Helpers registriert das
ActionStack Plugin implizit -- was bedeutet dass das
ActionStack Plugin nicht explizit registriert werden muß um dessen
Funktionalität zu verwenden.
Eine Aufgabe hinzufügen indem Aktion, Controller und Modulnamen verwendet werden
Oft ist es am einfachsten, einfach die Aktion, den Controller und das Modul (und
optionale Anfrage Parameter) zu spezifizieren, wie wenn
Zend_Controller_Action::_forward() aufgerufen werden würde:
_helper->actionStack('baz',
'foo',
'default',
array('bar' => 'baz'));
// Aufruf für /bar/bat hinzufügen
// (BarController::batAction())
$this->_helper->actionStack('bat', 'bar');
}
}
]]>Eine Aufgabe hinzufügen durch Verwendung eines Anfrage Objektes
Machmal macht die OOP Natur eines Anfrage Objektes mehr Sinn; solch
ein Objekt kann dem ActionStack Helfer genauso übergeben werden.
getRequest();
// Controller oder Modul nicht setzen, verwende aktuelle Werte
$request->setActionName('baz')
->setParams(array('bar' => 'baz'));
$this->_helper->actionStack($request);
// Aufruf zu /bar/bat hinzufügen
// (BarController::batAction())
$request = clone $this->getRequest();
// Modul nicht setzen, verwende aktuelle Werte
$request->setActionName('bat')
->setControllerName('bar');
$this->_helper->actionStack($request);
}
}
]]>