The view layer of Zend Framework 2 incorporates and utilizes a custom Zend\EventManager\Event
implementation - Zend\View\ViewEvent
. This event is created during Zend\View\View::getEvent()
and is passed directly to all the events that method triggers.
The ViewEvent
adds accessors and mutators for the following:
Model
object, typically representing the layout view model.Renderer
object.Request
object.Response
object.Result
object.
The methods it defines are:
setModel(Model $model)
getModel()
setRequest($request)
getRequest()
setResponse($response)
getResponse()
setRenderer($renderer)
getRenderer()
setResult($result)
getResult()
The following events are triggered, in the following order:
- EVENT_RENDERER: Render the view, with the help of renderers.
- EVENT_RENDERER_POST: Triggers after the view is rendered.
- EVENT_RESPONSE: Populate the response from the view.
Those events are extensively describe in the following sections.
The following classes are listening to this event (they are sorted from higher priority to lower priority):
This listener are added when the strategy used for rendering is PhpStrategy
:
Zend\View\Strategy\PhpStrategy
/ priority : 1 / method called:selectRenderer
=> return aPhpRenderer
This listener are added when the strategy used for rendering is JsonStrategy
:
Zend\View\Strategy\JsonStrategy
/ priority : 1 / method called:selectRenderer
=> return aJsonRenderer
This listener are added when the strategy used for rendering is FeedStrategy
:
Zend\View\Strategy\FeedStrategy
/ priority : 1 / method called:selectRenderer
=> return aFeedRenderer
This event is triggered by the following classes:
Zend\View\View
/ in method:render
=> it has a short circuit callback that stops propagation once one result return an instance of a Renderer.
There are currently no built-in listeners for this event.
This event is triggered by the following classes:
Zend\View\View
/ in method:render
=> this event is triggered after ViewEvent::RENDERER and before ViewEvent::RENDERER_POST
The following classes are listening to this event (they are sorted from higher priority to lower priority):
This listener are added when the strategy used for rendering is PhpStrategy
:
Zend\View\Strategy\PhpStrategy
/ priority : 1 / method called:injectResponse
=> populate theResponse
object from the view.
This listener are added when the strategy used for rendering is JsonStrategy
:
Zend\View\Strategy\JsonStrategy
/ priority : 1 / method called:injectResponse
=> populate theResponse
object from the view.
This listener are added when the strategy used for rendering is FeedStrategy
:
Zend\View\Strategy\FeedStrategy
/ priority : 1 / method called:injectResponse
=> populate theResponse
object from the view.
This event is triggered by the following classes:
Zend\View\View
/ in method:render
=> this event is triggered after ViewEvent::RENDERER and ViewEvent::RENDERER_POST