zenaku
@zenaku

Как зарегистрировать слушателей в onBootstrap(zf2)?

Изучаю zf2 и столкнулся с проблемой.
Мне необходимо зарегистрировать слушателей EventManager в onBootstrap для логирования(и другого). Но столкнулся с проблемой: когда я зарегистрировал слушателя в onBootstrap-e, то он срабатывает на триггер внутри onBootstrap, но совершенно игнорирует триггеры в контроллере. Точнее вообще как бы не зарегистрирован(var_dump($this->getEventManager())). Он просто не передается на EventManager в контроллере, ну или эти слушатели удаляются
//$eventManager = $e->getApplication()->getEventManager(); <-- первым вариантом
	$sm = $e->getApplication()->getServiceManager();
	$eventManager = $sm->get('eventmanager');
	/*имя события и функция - не суть, потому что оно прекрасно срабатывает внутри onBootstrap*/
        $eventManager->attach('%name%', %function%);
  • Вопрос задан
  • 264 просмотра
Пригласить эксперта
Ответы на вопрос 1
27cm
@27cm
TODO: Написать статус
ZF2 Shared Modules Event Manager

Попробуйте так:
$sem = $e->getApplication()->getEventManager()->getSharedManager();
$sem->attach('Application\Controller\IndexController', '%name%', %function%);


Ещё про SharedEventManager неплохо написано тут:
videoforme.ru/wp-content/uploads/2011/09/RM.pdf
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы