View::h($v); $data['fmt'] ??= fn($v) => View::formatMoney($v); extract($data, EXTR_SKIP); ob_start(); include dirname(__DIR__) . '/Views/' . $template . '.php'; return ob_get_clean(); } /** * Verhindert CSV-/Formel-Injection: stellt bei führendem =, +, - oder @ ein ' voran. */ protected function csvSanitize(string $value): string { if ($value !== '' && in_array($value[0], ['=', '+', '-', '@'], true)) { return "'" . $value; } return $value; } }