← Code-Übersicht

ZeigeDokumentationVersion.php

Pfad: src/Application/Dokumentation/ZeigeDokumentationVersion.php

Ext: php

Größe: 936 Bytes

Geändert: 2026-07-16 08:32:46+02

<?php
declare(strict_types=1);

namespace Demo\Application\Dokumentation;

use Demo\Domain\Dokumentation\Dokumentation;
use Demo\Domain\Dokumentation\DokumentationHistorie;

/**
 * Anwendungsfall: liefert den Dokumentations-Snapshot einer Version.
 */
final class ZeigeDokumentationVersion
{
    /** @var DokumentationHistorie Injizierter Port. */
    private DokumentationHistorie $historie;

    /**
     * @param DokumentationHistorie $historie Historien-Zugriff.
     */
    public function __construct(DokumentationHistorie $historie)
    {
        $this->historie = $historie;
    }

    /**
     * Fuehrt den Anwendungsfall aus.
     *
     * @param string $slug Gesuchter Slug.
     * @param int    $id   History-ID der Version.
     * @return Dokumentation|null Snapshot oder null.
     */
    public function execute(string $slug, int $id): ?Dokumentation
    {
        return $this->historie->beiVersion($slug, $id);
    }
}