namespace Application;
-use Zend\Module\Manager,
- Zend\EventManager\StaticEventManager,
- Zend\Module\Consumer\AutoloaderProvider;
+use Zend\Mvc\ModuleRouteListener;
-class Module implements AutoloaderProvider
+class Module
{
- protected $view;
- protected $viewListener;
+ public function onBootstrap($e)
+ {
+ $e->getApplication()->getServiceManager()->get('translator');
+ $eventManager = $e->getApplication()->getEventManager();
+ $moduleRouteListener = new ModuleRouteListener();
+ $moduleRouteListener->attach($eventManager);
+ }
- public function init(Manager $moduleManager)
+ public function getConfig()
{
- $events = StaticEventManager::getInstance();
- $events->attach('bootstrap', 'bootstrap', array($this, 'initializeView'), 100);
+ return include __DIR__ . '/config/module.config.php';
}
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()->getBasePath();
- $view->plugin('basePath')->setBasePath($basePath);
-
- $this->view = $view;
- return $view;
- }
}