/** * @param Manager $manager */ function invokeEvents(Manager $manager) { $repository = $this->entityManager->getRepository('\\Event\\Storage\\Doctrine\\Entity'); $events = $repository->findBy(array('status' => 'created')); /** @var Event $event */ foreach ($events as $event) { StaticManager::getInstance()->triggerByName($event->getAlias(), $event->getParams()); $event->setStatus('processed'); } $this->entityManager->flush(); }
public function setupStaticManager($event) { $config = $event->getConfigListener()->getMergedConfig(false); if (isset($config['dao-events'])) { $eventsConfig = $config['dao-events']; $eventMap = array(); if (isset($eventsConfig['mapper'])) { $eventMap = $eventsConfig['mapper']; } $eventManager = new Manager($eventMap, new EventManager()); if (isset($eventsConfig['listeners'])) { foreach ($eventsConfig['listeners'] as $eventAlias => $listeners) { foreach ($listeners as $listener) { $eventManager->attach($eventAlias, $listener); } } } StaticManager::setStaticManager($eventManager); } }