diff --git a/src/Controllers/Controller.php b/src/Controllers/Controller.php index 672c4d7..8dd9d74 100644 --- a/src/Controllers/Controller.php +++ b/src/Controllers/Controller.php @@ -104,4 +104,9 @@ abstract class Controller return $filter; } + + protected function pageNotFound() : Response { + return (new Response()) + ->withStatus(404); + } } diff --git a/src/Controllers/HtmlController.php b/src/Controllers/HtmlController.php index 4ae708c..a1d9b8b 100644 --- a/src/Controllers/HtmlController.php +++ b/src/Controllers/HtmlController.php @@ -12,6 +12,7 @@ abstract class HtmlController extends Controller { protected Twig $twig; protected DebugBar $debugBar; + protected string $pageNotFoundTemplate = "404.html.twig"; public function __construct( Twig $twig, @@ -57,4 +58,13 @@ abstract class HtmlController extends Controller return $response; } + + protected function pageNotFound(): Response + { + $response = (parent::pageNotFound()); + $response->withHeader('Content-Type', 'text/html'); + $response->getBody() + ->write($this->twig->fetch($this->pageNotFoundTemplate)); + return $response; + } }