Zend\Mvc\View\Http\ViewManager::onBootstrap PHP Method

onBootstrap() public method

Prepares the view layer
public onBootstrap ( $event ) : void
$event
return void
    public function onBootstrap($event)
    {
        $application = $event->getApplication();
        $services = $application->getServiceManager();
        $config = $services->get('config');
        $events = $application->getEventManager();
        $sharedEvents = $events->getSharedManager();
        $this->config = isset($config['view_manager']) && (is_array($config['view_manager']) || $config['view_manager'] instanceof ArrayAccess) ? $config['view_manager'] : [];
        $this->services = $services;
        $this->event = $event;
        $routeNotFoundStrategy = $services->get('HttpRouteNotFoundStrategy');
        $exceptionStrategy = $services->get('HttpExceptionStrategy');
        $mvcRenderingStrategy = $services->get('HttpDefaultRenderingStrategy');
        $this->injectViewModelIntoPlugin();
        $injectTemplateListener = $services->get('Zend\\Mvc\\View\\Http\\InjectTemplateListener');
        $createViewModelListener = new CreateViewModelListener();
        $injectViewModelListener = new InjectViewModelListener();
        $this->registerMvcRenderingStrategies($events);
        $this->registerViewStrategies();
        $routeNotFoundStrategy->attach($events);
        $exceptionStrategy->attach($events);
        $events->attach(MvcEvent::EVENT_DISPATCH_ERROR, [$injectViewModelListener, 'injectViewModel'], -100);
        $events->attach(MvcEvent::EVENT_RENDER_ERROR, [$injectViewModelListener, 'injectViewModel'], -100);
        $mvcRenderingStrategy->attach($events);
        $sharedEvents->attach('Zend\\Stdlib\\DispatchableInterface', MvcEvent::EVENT_DISPATCH, [$createViewModelListener, 'createViewModelFromArray'], -80);
        $sharedEvents->attach('Zend\\Stdlib\\DispatchableInterface', MvcEvent::EVENT_DISPATCH, [$routeNotFoundStrategy, 'prepareNotFoundViewModel'], -90);
        $sharedEvents->attach('Zend\\Stdlib\\DispatchableInterface', MvcEvent::EVENT_DISPATCH, [$createViewModelListener, 'createViewModelFromNull'], -80);
        $sharedEvents->attach('Zend\\Stdlib\\DispatchableInterface', MvcEvent::EVENT_DISPATCH, [$injectTemplateListener, 'injectTemplate'], -90);
        $sharedEvents->attach('Zend\\Stdlib\\DispatchableInterface', MvcEvent::EVENT_DISPATCH, [$injectViewModelListener, 'injectViewModel'], -100);
    }