File: /var/www/vhosts/creativefellows.nl/oudlondon.creativefellows.nl/src/Handler/DefaultErrorHandler.php
<?php
namespace App\Handler;
use App\Action\TwigAction;
use App\Domain\Page\Service\PageReader;
use App\Domain\Navigation\Service\NavigationReader;
use App\Domain\Language\LanguageData;
use App\Domain\Page\Data\PageData;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Views\Twig;
final class DefaultErrorHandler extends TwigAction{
private $twig;
private $pageReader;
private $navigationReader;
private $language;
public function __construct(
Twig $twig,
PageReader $pageReader,
NavigationReader $navigationReader,
LanguageData $language
) {
$this->twig = $twig;
$this->pageReader = $pageReader;
$this->navigationReader = $navigationReader;
$this->language = $language;
}
public function respond(Response $response, PageData $page, $navigation) : Response
{
$data = [
"navigation" => $navigation,
"page" => $page->twigData(),
"localization" => $this->language->localizedLanguageData()->setting("labels"),
];
return $this->twig->render($response, '404.twig', $data)->withStatus(404);
}
public function action() : Response {}
}