En Zend_Controller_Front
Plugin-Haken sind die folgenden (von aquí ):
routeStartup()
aufgerufen wird, bevor Zend_Controller_Front
ruft den Router auf, die Anfrage anhand der registrierten Routen zu bewerten.
routeShutdown()
wird aufgerufen, nachdem der Router die Weiterleitung der Anfrage abgeschlossen hat.
dispatchLoopStartup()
aufgerufen wird, bevor Zend_Controller_Front
in seine Versandschleife ein.
preDispatch()
wird aufgerufen, bevor eine Aktion vom Dispatcher versendet wird. Dieser Callback ermöglicht ein Proxy- oder Filterverhalten. Durch Ändern der Anfrage und Zurücksetzen ihres Dispatched-Flags (über Zend_Controller_Request_Abstract::setDispatched(false)
), kann die aktuelle Aktion übersprungen und/oder ersetzt werden.
postDispatch()
wird aufgerufen, nachdem eine Aktion vom Dispatcher abgewickelt wurde. Dieser Callback ermöglicht ein Proxy- oder Filterverhalten. Durch Ändern der Anfrage und Zurücksetzen ihres Dispatched-Flags (über Zend_Controller_Request_Abstract::setDispatched(false)
), kann eine neue Aktion für die Abfertigung angegeben werden.
dispatchLoopShutdown()
wird aufgerufen nachdem Zend_Controller_Front seine Dispatch Schleife verlassen hat.
Also dispatchLoopShutdown()
ist Ihr Haken zum Mitnehmen - es ist das letzte, was Zend_Controller_Front::dispatch()
bevor die Antwort zurückgegeben oder gesendet wird.
Eine andere Möglichkeit wäre, auch wenn sie für etwas ganz anderes konzipiert wurden, die Verwendung von Zend_View
Filter. Diese Filter können in der Zend_View
-Instanz und werden aufgerufen in Zend_View::render()
. Ein Filter ist einfach eine Instanz einer Klasse, die eine filter($buffer)
-Methode, die die gefilterten $buffer
. Aber die Verwendung dieser Schnittstelle für etwas, das nicht mit der Filtrieren die Öffnung, was eigentlich nicht der richtige Weg zu sein scheint.
Ich persönlich denke, dass ein dispatchLoopShutdown()
-Plugin ist der richtige Weg.