Mit dem Zend Framework möchte ich ein Ereignis an meine Anwendung/Modul anhängen, so dass diese Funktion bei jedem dispach Ereignis für jedes Modul aufgerufen wird. Dies ist mein Code:Zend Framework hängt benutzerdefiniertes Ereignis an den geteilten Ereignismanager an
Klasse Module { public function getConfig() { return enthalten DIR. '/../config/module.config.php'; }
public function onBootstrap(MvcEvent $event)
{
$application = $event->getApplication();
$serviceManager = $application->getServiceManager();
$sessionManager = $serviceManager->get(SessionManager::class);
// Get event manager.
$eventManager = $event->getApplication()->getEventManager();
$sharedEventManager = $eventManager->getSharedManager();
// Register the event listener method onDispatch
$sharedEventManager->attach(AbstractActionController::class,
MvcEvent::EVENT_DISPATCH, [$this, 'onDispatch'], 100);
}
public function onDispatch(MvcEvent $event)
{
// Will perform application wide ACL control based on controller,
// action and user data.
}
}
Aus irgendeinem Grunde ist mein onDispatch nie geladen werden, obwohl die Anwendungsbildschirm aufgerufen.
Weiß nicht, was ich vermisse. Soweit ich weiß, muss ich den freigegebenen Ereignismanager verwenden, um für die gesamte Anwendung gültig zu sein.
Hilfe geschätzt.