← Code-Übersicht

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);
    }
}