Zend\Mvc\View\Http\RouteNotFoundStrategy::prepareNotFoundViewModel PHP Метод

prepareNotFoundViewModel() публичный Метод

Create and return a 404 view model
public prepareNotFoundViewModel ( MvcEvent $e ) : void
$e Zend\Mvc\MvcEvent
Результат void
    public function prepareNotFoundViewModel(MvcEvent $e)
    {
        $vars = $e->getResult();
        if ($vars instanceof Response) {
            // Already have a response as the result
            return;
        }
        $response = $e->getResponse();
        if ($response->getStatusCode() != 404) {
            // Only handle 404 responses
            return;
        }
        if (!$vars instanceof ViewModel) {
            $model = new ViewModel();
            if (is_string($vars)) {
                $model->setVariable('message', $vars);
            } else {
                $model->setVariable('message', 'Page not found.');
            }
        } else {
            $model = $vars;
            if ($model->getVariable('message') === null) {
                $model->setVariable('message', 'Page not found.');
            }
        }
        $model->setTemplate($this->getNotFoundTemplate());
        // If displaying reasons, inject the reason
        $this->injectNotFoundReason($model);
        // If displaying exceptions, inject
        $this->injectException($model, $e);
        // Inject controller if we're displaying either the reason or the exception
        $this->injectController($model, $e);
        $e->setResult($model);
    }