From 262dbdea05f53c66b97f5bc364b1cfac2ef72e10 Mon Sep 17 00:00:00 2001 From: mamuz Date: Sat, 6 Sep 2014 18:51:29 +0200 Subject: [PATCH] add HeadLink Listener --- config/module.config.php | 1 + src/MamuzBlogFeed/Module.php | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/config/module.config.php b/config/module.config.php index 4bd116b..0008a1d 100644 --- a/config/module.config.php +++ b/config/module.config.php @@ -31,6 +31,7 @@ 'blog_domain' => array( 'factories' => array( 'MamuzBlogFeed\Listener\QueryFilterAggregate' => 'MamuzBlogFeed\Listener\QueryFilterAggregateFactory', + 'MamuzBlogFeed\Listener\HeadLinkAggregate' => 'MamuzBlogFeed\Listener\HeadLinkAggregateFactory', 'MamuzBlogFeed\Feed\Writer\Factory' => 'MamuzBlogFeed\Feed\WriterFactory', 'MamuzBlogFeed\Options\ConfigProvider' => 'MamuzBlogFeed\Options\ConfigProviderFactory', ), diff --git a/src/MamuzBlogFeed/Module.php b/src/MamuzBlogFeed/Module.php index 0a96c8a..f5679a0 100644 --- a/src/MamuzBlogFeed/Module.php +++ b/src/MamuzBlogFeed/Module.php @@ -2,14 +2,43 @@ namespace MamuzBlogFeed; +use Zend\EventManager\EventInterface; +use Zend\EventManager\EventManagerInterface; use Zend\ModuleManager\Feature; use Zend\ModuleManager\ModuleManagerInterface; +use Zend\Mvc\ApplicationInterface; +use Zend\Mvc\MvcEvent; +use Zend\ServiceManager\ServiceLocatorInterface; class Module implements Feature\AutoloaderProviderInterface, + Feature\BootstrapListenerInterface, Feature\ConfigProviderInterface, Feature\InitProviderInterface { + /** @var ApplicationInterface */ + private $application; + + /** @var ServiceLocatorInterface */ + private $domainManager; + + /** @var EventManagerInterface */ + private $eventManager; + + public function onBootstrap(EventInterface $e) + { + /** @var MvcEvent $e */ + $this->application = $e->getApplication(); + $this->eventManager = $this->application->getEventManager(); + $this->domainManager = $this->application->getServiceManager()->get( + 'MamuzBlog\DomainManager' + ); + + /* @var \Zend\EventManager\ListenerAggregateInterface $listenerAggregate */ + $listenerAggregate = $this->domainManager->get('MamuzBlogFeed\Listener\HeadLinkAggregate'); + $this->eventManager->attachAggregate($listenerAggregate); + } + public function init(ModuleManagerInterface $modules) { $modules->loadModule('MamuzBlog');