Ich möchte die Fehlerbehandlung in module.php
hinzufügen alle Fehlermeldungen in Flash Messenger hinzuzufügen und zu einer bestimmten Seite (in meiner Anforderung) umleiten:Zugriff auf Controller-Plugins in module.php ohne Verwendung eines Controller-Objekts in ZF2 ..?
public function handleError(MvcEvent $e) {
$exception = $e->getParam('exception');
$controller = $e->getTarget();
//echo $exception->getMessage(); exit;
if (!$e->getApplication()->getServiceManager()->get('AuthService')->hasIdentity()) {
$controller->flashMessenger()->addErrorMessage("Session Expired..!!");
return $e->getTarget()->plugin('redirect')->toRoute('auth', array('action' => 'login'));
}
switch ($exception->getCode()) {
case "2003" :
$controller->flashMessenger()->addErrorMessage("Unable to connect database..!!");
break;
default :
$controller->flashMessenger()->addErrorMessage($exception->getMessage());
break;
}
$e->getApplication()->getServiceManager()->get('AuthService')->clearIdentity();
return $e->getTarget()->plugin('redirect')->toRoute('auth', array('action' => 'login'));
}
Aber in manchen Fehlern nicht definierte Methode Plugin seinen Wurf Anruf auf $e->getTarget()
weil in einigen Fällen Fehler vor Plugin-Bindings generiert werden. Ich möchte eine Möglichkeit, auf redirect and flash messenger plugins
zuzugreifen, ohne einen Controller zu beziehen.