← Code-Übersicht

GetHealth.php

Pfad: src/Application/Health/GetHealth.php

Ext: php

Größe: 845 Bytes

Geändert: 2026-07-15 16:12:07+02

<?php
declare(strict_types=1);

namespace Demo\Application\Health;

use Demo\Domain\Health\HealthProbePort;
use Demo\Domain\Health\HealthReport;

/**
 * Anwendungsfall: liefert den aktuellen Systemzustand.
 * Kennt nur den Domaenen-Port, nicht dessen technische Umsetzung.
 */
final class GetHealth
{
    /** @var HealthProbePort Injizierter Domaenen-Port. */
    private HealthProbePort $probe;

    /**
     * Nimmt den getriebenen Port entgegen.
     *
     * @param HealthProbePort $probe Port zur Verfuegbarkeitspruefung.
     */
    public function __construct(HealthProbePort $probe)
    {
        $this->probe = $probe;
    }

    /**
     * Fuehrt den Anwendungsfall aus.
     *
     * @return HealthReport Aktueller Systemzustand.
     */
    public function execute(): HealthReport
    {
        return $this->probe->probe();
    }
}