RELEASE`) — * der Live-Server hat kein Git, solange per SFTP deployt wird. * * Versionen sind Git-Tags nach SemVer: Feature-Deploy erhöht die mittlere, * Hotfix die letzte Stelle. Auf dem Tag ergibt das „v1.1.0“, mit späteren * Commits „v1.1.0-2-gabc1234“, mit uncommitteten Änderungen „…-dirty“. */ class Release { public static function current(?string $configured, ?string $basePath = null): ?string { $configured = trim((string) $configured); if ($configured !== '') { return $configured; } $file = rtrim($basePath ?? base_path(), '/').'/RELEASE'; if (! is_file($file)) { return null; } $release = trim((string) file_get_contents($file)); return preg_match('/^[A-Za-z0-9._\-]{1,64}$/', $release) === 1 ? $release : null; } }