attach('bootstrap', 'bootstrap', array($this, 'initializeView'), 100); } public function getAutoloaderConfig() { return array( 'Zend\Loader\ClassMapAutoloader' => array( __DIR__ . '/autoload_classmap.php', ), 'Zend\Loader\StandardAutoloader' => array( 'namespaces' => array( __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, ), ), ); } public function getConfig() { return include __DIR__ . '/config/module.config.php'; } public function initializeView($e) { $app = $e->getParam('application'); $locator = $app->getLocator(); $config = $e->getParam('config'); $view = $this->getView($app); $viewListener = $this->getViewListener($view, $config); $app->events()->attachAggregate($viewListener); $events = StaticEventManager::getInstance(); $viewListener->registerStaticListeners($events, $locator); } protected function getViewListener($view, $config) { if ($this->viewListener instanceof View\Listener) { return $this->viewListener; } $viewListener = new View\Listener($view, $config->layout); $viewListener->setDisplayExceptionsFlag($config->display_exceptions); $this->viewListener = $viewListener; return $viewListener; } protected function getView($app) { if ($this->view) { return $this->view; } $locator = $app->getLocator(); $view = $locator->get('view'); // Set up view helpers $view->plugin('url')->setRouter($app->getRouter()); $view->doctype()->setDoctype('HTML5'); $basePath = $app->getRequest()->getBaseUrl(); $view->plugin('basePath')->setBasePath($basePath); $this->view = $view; return $view; } }