Eigenen Error Handler schreiben in TYPO3 9

Da die Anleitung etwas dürftig ist, hier nochmal die einzelnen Schritte. Die config.yaml sieht so aus:

errorHandling:
  -
    errorCode: '404'
    errorHandler: PHP
    errorPhpClassFQCN: Ophi\Blog\Error\ErrorHandling

und die zugehörige ErrorHandling.php:

<?php

namespace Ophi\Blog\Error;

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use TYPO3\CMS\Core\Error\PageErrorHandler\PageErrorHandlerInterface;
use TYPO3\CMS\Core\Http\HtmlResponse;
use TYPO3\CMS\Core\Http\RedirectResponse;
use TYPO3\CMS\Extbase\Utility\DebuggerUtility;
use Ophi\Blog\Service\Debug;

class ErrorHandling implements PageErrorHandlerInterface{

    public function handlePageError(ServerRequestInterface $request, string $message, array $reasons = []): ResponseInterface{
        if(Debug::isTestServer()) {
            DebuggerUtility::var_dump($message);
            DebuggerUtility::var_dump($reasons);
            return new HtmlResponse('Diese Seite liefert einen 404 Error', 404);
        }
        return new RedirectResponse('/404-fehlerseite', 404);
    }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.