Zend\Mvc\DispatchListener
Default dispatch listener
Pulls controllers from the service manager's "ControllerManager" service.
If the controller cannot be found a "404" result is set up. Otherwise it
will continue to try to load the controller.
If the controller is not dispatchable it sets up a "404" result. In case
of any other exceptions it trigger the "dispatch.error" event in an attempt
to return a 500 status.
If the controller subscribes to InjectApplicationEventInterface, it injects
the current MvcEvent into the controller.
It then calls the controller's "dispatch" method, passing it the request and
response. If an exception occurs, it triggers the "dispatch.error" event,
in an attempt to return a 500 status.
The return value of dispatching the controller is placed into the result
property of the MvcEvent, and returned.
Synopsis
- // members
- protected array $listeners;
- // methods
- public void attach()
- public void detach()
- public mixed onDispatch()
- public void reportMonitorEvent()
- protected mixed complete()
- protected mixed marshalControllerNotFoundEvent()
- protected mixed marshallControllerNotFoundEvent()
- protected mixed marshalBadControllerEvent()
Hierarchy
Implements
Members
protected
- $listeners — array
Methods
protected
- complete() — Complete the dispatch
- marshalBadControllerEvent() — Marshal a bad controller exception event
- marshalControllerNotFoundEvent() — Marshal a controller not found exception event
- marshallControllerNotFoundEvent() — Marshal a controller not found exception event
public
- attach() — Attach listeners to an event manager
- detach() — Detach listeners from an event manager
- onDispatch() — Listen to the "dispatch" event
- reportMonitorEvent()