Vollständige Anwendungskonfiguration (aus config.php) */ private array $config; /** @var SnmpServerStatusService Service, der den Serverstatus (später per SNMP) liefert */ private SnmpServerStatusService $snmpService; /** * Übergibt die Konfiguration an den Controller und initialisiert den SNMP-Statusservice. * * @param array $config Vollständige Konfiguration aus config.php */ public function __construct(array $config) { // Komplette Config lokal speichern (falls später weitere Werte benötigt werden). $this->config = $config; // Teilbereich "snmp" aus der Konfiguration ziehen. // Wenn nicht vorhanden, wird ein leeres Array übergeben (der Service prüft das selbst). $snmpConfig = $config['snmp'] ?? []; // SNMP-Service initialisieren, der den Serverstatus liefert. $this->snmpService = new SnmpServerStatusService($snmpConfig); } /** * Zeigt das Dashboard an. * Holt die Serverstatus-Daten aus dem SnmpServerStatusService und übergibt sie an die View. * * @return array View-Result für das zentrale Layout */ public function show(): array { // Serverstatus über den SNMP-Service ermitteln. // In der aktuellen Version liefert der Service noch Demo-Daten. $serverStatus = $this->snmpService->getServerStatus(); // Pfad zur Dashboard-View (Template-Datei) ermitteln. $viewPath = __DIR__ . '/../../public/views/dashboard.php'; return [ 'view' => $viewPath, 'data' => [ // Die View erwartet aktuell $serverStatus. 'serverStatus' => $serverStatus, ], 'pageTitle' => 'Dashboard', // In der Sidebar soll der Dashboard-Menüpunkt aktiv sein. 'activeMenu' => 'dashboard', ]; } }