public function handle(EventInterface $e) { $response = $e->getResponse(); $exceptions = $e->getExceptions(); $exception = array_pop($exceptions); $response->assign(array('exception' => $exception), 'error/error'); switch (get_class($exception)) { case $exception instanceof PageNotFoundException: $response->setCode(404); $response->assign('message', 'Page Not Found', 'error/error'); break; default: $response->setCode(500); $response->assign('message', 'An unexpected error occurred', 'error/error'); break; } }
public function __invoke(EventInterface $e) { if (isset($e['mvc.actioncontroller.broker'])) { $this->setHelperBroker($e['mvc.actioncontroller.broker']); } $request = $e->getRequest(); $action = $request->getActionName(); if (null === $action) { $action = 'index'; } $method = $this->_formatActionName($action); $response = $e->getResponse(); $context = $request->getControllerName() . '/' . $request->getActionName(); $response->assign(array(), $context); $this->{$method}($e); $values = $response->getValues(); }