Frage

Dies ist eine Folgefrage von diese Frage, was nicht wirklich wichtig ist.

Ich habe das folgende Plugin für vordere Controller geschrieben:

public function postDispatch(Zend_Controller_Request_Abstract $request)
{
    $response = $this->getResponse();
    $monitor = Zend_Registry::get('monitor');

    if ($response->isException())
    {
        $monitor->log($response);
    }
}

Wobei $ Monitor eine Instanz einer benutzerdefinierten DB -Protokollierungsklasse ist (erweitert Zend_log).

In der Protokollmethode des Monitors I-Schleifen über das Array von Zend_Exceptions, die von $ response-> getException () zurückgegeben wurden.

Zu den Testzwecken bin ich eine Ausnahme in einer Aktion:

throw new Zend_Exception('the big test', 555);

Die meisten Dinge funktionieren wie erwartet, die Ausnahme wird in die Datenbank geschrieben.

Frage

Aber es ist zweimal geschrieben. Wieso den?

War es hilfreich?

Lösung

Weil die Versandschleife zweimal aufgerufen wird. Zuerst für die aktuelle Aktion und dann für Standard: Fehler: Fehler :) Legen Sie das Anmelden ein dispatchLoopShutdown() Methode

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top