Signatur
Beschreibung
rnp_version_string_full() ist Teil der PHP-Erweiterung für die RNP-Bibliothek, eine OpenPGP-konforme Kryptografie-Bibliothek. Die Funktion liefert die vollständige Versionszeichenkette der aktuell geladenen RNP-Bibliothek als lesbaren String zurück.
Im Gegensatz zur einfachen Versionsnummer (z. B. rnp_version_string()) enthält die vollständige Versionszeichenkette zusätzliche Informationen wie Commit-Hashes, Build-Metadaten oder Versionszusätze (z. B. 0.17.0+git20230101.abcdef1). Dies ist besonders nützlich für Debugging-Zwecke, Kompatibilitätsprüfungen oder Diagnose-Ausgaben in Anwendungen, die auf PGP-Verschlüsselung angewiesen sind.
Die Funktion eignet sich vor allem dann, wenn man sicherstellen möchte, dass eine bestimmte Version der RNP-Bibliothek installiert ist – etwa bei der Nutzung von Features, die nur in neueren Versionen verfügbar sind, oder wenn Sicherheitsupdates eingespielt werden müssen.
Rückgabewert
"0.17.0" oder eine erweiterte Zeichenkette mit Build-Metadaten wie "0.17.0+git20230101.abcdef1".Beispiele
Vollständige RNP-Version ausgeben
<?php
// Gibt die vollständige Versionszeichenkette der RNP-Bibliothek aus
$version = rnp_version_string_full();
echo "RNP-Bibliothek Version (vollständig): " . $version . PHP_EOL;
Versionskompatibilität prüfen
<?php
// Mindestversion festlegen und Kompatibilität prüfen
$minVersion = '0.16.0';
$fullVersion = rnp_version_string_full();
// Nur den Basis-Versionsanteil extrahieren (vor einem '+' oder '-')
$baseVersion = preg_replace('/[+\-].*$/', '', $fullVersion);
if (version_compare($baseVersion, $minVersion, '>=')) {
echo "RNP-Bibliothek ist kompatibel (gefunden: $fullVersion)" . PHP_EOL;
} else {
echo "RNP-Bibliothek ist veraltet! Gefunden: $fullVersion, benötigt: $minVersion" . PHP_EOL;
}
// Wichtig · Fallstricke
Die Funktion setzt voraus, dass die PHP-Erweiterung rnp installiert und aktiviert ist. Ist die Erweiterung nicht verfügbar, führt der Aufruf zu einem fatalen Fehler (Call to undefined function). Vor dem Einsatz in produktivem Code empfiehlt sich daher eine Prüfung mit function_exists('rnp_version_string_full').
Da die vollständige Versionszeichenkette Build-Metadaten enthalten kann, sollte für reine Versionsvergleiche der Basis-Versionsanteil extrahiert werden (z. B. mit preg_replace()), bevor version_compare() verwendet wird.