Я не понимаю, почему следующий код не работает. Возможно, я ничего не понимаю с помощью EventManger/SharedEventManager ind Zend Framework 2.Не удается подключить EVENT_ROUTE в контроллере
Пока что я ничего не мог найти об этом в Интернете.
Может быть, экземпляр IndexContoller уже уничтожен в EVENT_RENDER и не создан в EVENT_ROUTE? Возможно, это так, или я что-то пропустил?
class IndexController extends AbstractActionController
{
public function routeEventOccured() {
echo 'test';
}
public function renderEventOccured() {
echo 'test';
}
public function __construct()
{
$this->getEventManager()->attach(MvcEvent::EVENT_ROUTE, array($this,
'routeEventOccured'));
$this->getEventManager()->attach(MvcEvent::EVENT_RENDER, array($this,
'renderEventOccured'));
}
}
Управление контроллером происходит в 'EVENT_DISPATCH'. Это * после * 'EVENT_ROUTE'. Поэтому невозможно подключиться к 'EVENT_ROUTE' из вашего контроллера. Событие-крючки должны быть объявлены 'onBootstrap()' вашего 'Module' – Sam
Спасибо за эту информацию, как я. Но что такое EVENT_RENDER и EVENT_FINISH? Imho экземпляр контроллера уже уничтожен в момент их возникновения. – Gizzmo