HomeAction.php
Pfad: src/Infrastructure/Http/HomeAction.php
Ext: php
Größe: 1195 Bytes
Geändert: 2026-07-15 22:42:51+02
<?php
declare(strict_types=1);
namespace Demo\Infrastructure\Http;
/**
* Treibender Adapter: rendert die Startseite mit der Bereichs-Uebersicht.
*/
final class HomeAction
{
/** @var TemplateRenderer Template-Renderer. */
private TemplateRenderer $view;
/** @var Navigation Zentrale Bereichsliste (Quelle fuer Nav und Tabelle). */
private Navigation $nav;
/**
* @param TemplateRenderer $view Renderer.
* @param Navigation $nav Bereichsliste.
*/
public function __construct(TemplateRenderer $view, Navigation $nav)
{
$this->view = $view;
$this->nav = $nav;
}
/**
* Baut die Startseite.
*
* @param array<string,string> $params Routen-Parameter (ungenutzt).
* @return Response HTML-Antwort.
*/
public function __invoke(array $params): Response
{
$html = $this->view->render('layout', [
'inner' => 'startseite',
'titel' => 'KI-Gemeinschaft Demo',
'aktiv' => '/',
'nav' => $this->nav->items(),
'bereiche' => $this->nav->items(),
]);
return new Response(200, 'text/html; charset=UTF-8', $html);
}
}