ZeigeDokumentation.php
Pfad: src/Application/Dokumentation/ZeigeDokumentation.php
Ext: php
Größe: 881 Bytes
Geändert: 2026-07-15 21:44:12+02
<?php
declare(strict_types=1);
namespace Demo\Application\Dokumentation;
use Demo\Domain\Dokumentation\Dokumentation;
use Demo\Domain\Dokumentation\DokumentationRepository;
/**
* Anwendungsfall: liefert eine einzelne Dokumentation anhand ihres Slugs.
*/
final class ZeigeDokumentation
{
/** @var DokumentationRepository Injizierter Port. */
private DokumentationRepository $repository;
/**
* @param DokumentationRepository $repository Datenzugriff.
*/
public function __construct(DokumentationRepository $repository)
{
$this->repository = $repository;
}
/**
* Fuehrt den Anwendungsfall aus.
*
* @param string $slug Gesuchter Slug.
* @return Dokumentation|null Eintrag oder null.
*/
public function execute(string $slug): ?Dokumentation
{
return $this->repository->bySlug($slug);
}
}