Менеджер событий ZF3 работает только для EVENT_DISPATCH - PullRequest
0 голосов
/ 26 августа 2018

В пользовательском модуле ZF3 мне нужно перехватить некоторые события.

В module.config.php функция init() имеет вид:

public function init(ModuleManager $manager)
{        
    $eventManager = $manager->getEventManager();    
    $sharedEventManager = $eventManager->getSharedManager();
    $sharedEventManager->attach(__NAMESPACE__, MvcEvent::EVENT_DISPATCH, [$this, 'onDispatch'], 100);
    $sharedEventManager->attach(__NAMESPACE__, MvcEvent::EVENT_DISPATCH_ERROR, [$this, 'onDispatchError'], 110);
}

В том же классе естьэто две функции:

public function onDispatch(MvcEvent $event)
{        
    echo 'testOnDispatch';
    die;   
}

public function onDispatchError(MvcEvent $event)
{        
    echo 'testOnDispatchError';
    die;        
}

Событие EVENT_DISPATCH запускается без каких-либо проблем, а EVENT_DISPATCH_ERROR - нет.После некоторых тестов я увидел, что срабатывает только событие EVENT_DISPATCH.

В конфигурации диспетчера представлений оба значения display_not_found_reason и display_exceptions установлены на TRUE.Если я заменю EVENT_DISPATCH_ERROR на EVENT_DISPATCH (дважды EVENT_DISPATCH), все будет нормально работать в отношении приоритета.

Что я пропустил?

...