Rendering Views
The ViewEvent
zend-view 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 the View class triggers.
The ViewEvent adds accessors and mutators for the following:
Modelobject, typically representing the layout view model.Rendererobject.Requestobject.Responseobject.Result(typically a string representing the rendered content).
The methods it defines are:
setModel(Model $model)getModel()setRequest($request)getRequest()setResponse($response)getResponse()setRenderer($renderer)getRenderer()setResult($result)getResult()
Order of events
The following events are triggered, in the following order:
| Name | Constant | Description |
|---|---|---|
renderer |
ViewEvent::EVENT_RENDERER |
Render the view, with the help of renderers. |
renderer.post |
ViewEvent::EVENT_RENDERER_POST |
Triggers after the view is rendered. |
response |
ViewEvent::EVENT_RESPONSE |
Populate the response from the view. |
Each is described in the following sections.
ViewEvent::EVENT_RENDERER
Listeners
The following classes are listening to this event (they are sorted from higher priority to lower priority):
For PhpStrategy
This listener is added when the strategy used for rendering is PhpStrategy:
| Class | Priority | Method called | Description |
|---|---|---|---|
Zend\View\Strategy\PhpStrategy |
1 | selectRenderer |
Return a PhpRenderer |
For JsonStrategy
This listener is added when the strategy used for rendering is JsonStrategy:
| Class | Priority | Method called | Description |
|---|---|---|---|
Zend\View\Strategy\JsonStrategy |
1 | selectRenderer |
Return a JsonRenderer |
For FeedStrategy
This listener is added when the strategy used for rendering is FeedStrategy:
| Class | Priority | Method called | Description |
|---|---|---|---|
Zend\View\Strategy\FeedStrategy |
1 | selectRenderer |
Return a FeedRenderer |
Triggerers
This event is triggered by the following classes:
| Class | In method | Description |
|---|---|---|
Zend\View\View |
render |
It has a short circuit callback that stops propagation once one result return an instance of a Renderer. |
ViewEvent::EVENT_RENDERER_POST
Listeners
There are currently no built-in listeners for this event.
Triggerers
This event is triggered by the following classes:
| Class | In method | Description |
|---|---|---|
Zend\View\View |
render |
This event is triggered after ViewEvent::EVENT_RENDERER and before ViewEvent::EVENT_RESPONSE. |
ViewEvent::EVENT_RESPONSE
Listeners
The following classes are listening to this event (they are sorted from higher priority to lower priority):
For PhpStrategy
This listener is added when the strategy used for rendering is PhpStrategy:
| Class | Priority | Method called | Description |
|---|---|---|---|
Zend\View\Strategy\PhpStrategy |
1 | injectResponse |
Populate the Response object from the rendered view. |
For JsonStrategy
This listener is added when the strategy used for rendering is JsonStrategy:
| Class | Priority | Method called | Description |
|---|---|---|---|
Zend\View\Strategy\JsonStrategy |
1 | injectResponse |
Populate the Response object with the serialized JSON content. |
For FeedStrategy
This listener is added when the strategy used for rendering is FeedStrategy:
| Class | Priority | Method called | Description |
|---|---|---|---|
Zend\View\Strategy\FeedStrategy |
1 | injectResponse |
Populate the Response object with the rendered feed. |
Triggerers
This event is triggered by the following classes:
| Class | In method | Description |
|---|---|---|
Zend\View\View |
render |
This event is triggered after ViewEvent::EVENT_RENDERER and ViewEvent::EVENT_RENDERER_POST. |
Found a mistake or want to contribute to the documentation? Edit this page on GitHub!