Exception innerhalb Design ausgeben

Exceptions innerhalb der eigenen Extension

Die Standart Exception-Ausgabe von Extbase/Fluid ist nicht gerade schön, schon gar nicht für den Besucher, der sollte die Meldung nicht sehen.

Mit Hilfe eines eigenen Action Controllers kann die bestehende überladen werden und eine eigene Ausgabe erzeugt werden.

Dazu erstellt man einen BaseController.php und passt alle bestehenden Controller so an, dass sie neu die BaseController Klasse extenden.

BaseController.php

<?php
abstract Class Tx_MeineExtension_Controller_BaseController extends Tx_Extbase_MVC_Controller_ActionController {
protected function callActionMethod() {
  try {
  parent::callActionMethod();
  } catch(Exception $e) {
  $this->response->appendContent( 'Es ist ein Fehler aufgetreten. ('.$e->getCode().')<div class="error"><br>' . $e->getMessage() . '<br>' . $e->getTraceAsString() . '<div>');
  }
  }
}
?>

Bestehende Controller anpassen

In bestehenden Controllern muss jetzt überall wo „extends Tx_Extbase_MVC_Controller_ActionController“ steht, ersetzt werden mit Tx_MeineExtension_Controller_BaseController

Ausgabe

Es ist ein Fehler aufgetreten:

Missing argument „as“. (12389849323)

Ausgabe anpassen

Es können auch noch weitere Informationen ausgegeben werden.

Alle Methoden sind auf der php.net-Seite aufgelistet:

http://php.net/manual/de/class.exception.php

Hast du einen Fehler gefunden? Schreibe an: http://www.extbasefluid.com/anfrage/
comments powered by Disqus