Zend\Mvc\View\Http\DefaultRenderingStrategy::render PHP Method

render() public method

Render the view
public render ( MvcEvent $e ) : Zend\Stdlib\ResponseInterface | null
$e Zend\Mvc\MvcEvent
return Zend\Stdlib\ResponseInterface | null
    public function render(MvcEvent $e)
    {
        $result = $e->getResult();
        if ($result instanceof Response) {
            return $result;
        }
        // Martial arguments
        $request = $e->getRequest();
        $response = $e->getResponse();
        $viewModel = $e->getViewModel();
        if (!$viewModel instanceof ViewModel) {
            return;
        }
        $view = $this->view;
        $view->setRequest($request);
        $view->setResponse($response);
        $caughtException = null;
        try {
            $view->render($viewModel);
        } catch (\Throwable $ex) {
            $caughtException = $ex;
        } catch (\Exception $ex) {
            // @TODO clean up once PHP 7 requirement is enforced
            $caughtException = $ex;
        }
        if ($caughtException !== null) {
            if ($e->getName() === MvcEvent::EVENT_RENDER_ERROR) {
                throw $caughtException;
            }
            $application = $e->getApplication();
            $events = $application->getEventManager();
            $e->setError(Application::ERROR_EXCEPTION);
            $e->setParam('exception', $caughtException);
            $e->setName(MvcEvent::EVENT_RENDER_ERROR);
            $events->triggerEvent($e);
        }
        return $response;
    }