The ViewEvent

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()

Order of events

The following events are triggered, in the following order:

ViewEvent Events
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.

Those events are extensively describe 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:

ViewEvent::EVENT_RENDERER Listeners for 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:

ViewEvent::EVENT_RENDERER Listeners for 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:

ViewEvent::EVENT_RENDERER Listeners for FeedStrategy
Class Priority Method Called Description
Zend\View\Strategy\FeedStrategy 1 selectRenderer Return a FeedRenderer

Triggerers

This event is triggered by the following classes:

ViewEvent::EVENT_RENDERER Triggerers
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:

ViewEvent::EVENT_RENDERER_POST Triggerers
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:

ViewEvent::EVENT_RESPONSE Listeners for PhpStrategy
Class Priority Method Called Description
Zend\View\Strategy\PhpStrategy 1 injectResponse Populate the Response object from the view.

For JsonStrategy

This listener is added when the strategy used for rendering is JsonStrategy:

ViewEvent::EVENT_RESPONSE Listeners for JsonStrategy
Class Priority Method Called Description
Zend\View\Strategy\JsonStrategy 1 injectResponse Populate the Response object from the view.

For FeedStrategy

This listener is added when the strategy used for rendering is FeedStrategy:

ViewEvent::EVENT_RESPONSE Listeners for FeedStrategy
Class Priority Method Called Description
Zend\View\Strategy\FeedStrategy 1 injectResponse Populate the Response object from the view.

Triggerers

This event is triggered by the following classes:

ViewEvent::EVENT_RESPONSE Triggerers
Class In Method Description
Zend\View\View render This event is triggered after ViewEvent::EVENT_RENDERER and ViewEvent::EVENT_RENDERER_POST.