Signatur
Beschreibung
yaz_get_option() liest eine benannte Verbindungsoption aus einer aktiven YAZ-Verbindungsressource aus und gibt deren aktuellen Wert als Zeichenkette zurück. YAZ ist eine PHP-Erweiterung zur Kommunikation mit Z39.50-Servern, die häufig in Bibliothekssystemen und Informationsdiensten eingesetzt werden.
Typische Options-Namen sind beispielsweise implementationName, implementationVersion oder targetImplementationId, die Informationen über den verbundenen Z39.50-Server liefern. Die verfügbaren Optionen hängen dabei vom jeweiligen Server und der verwendeten YAZ-Version ab.
Die Funktion ist nützlich, wenn man nach dem Verbindungsaufbau mit yaz_connect() und dem Senden einer Suchanfrage Metainformationen über die Gegenstelle abfragen möchte, ohne dafür eigene Protokoll-Analysen durchführen zu müssen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $id Pflicht | resource | Eine YAZ-Verbindungsressource, die zuvor mit yaz_connect() erzeugt wurde. |
|
| $name Pflicht | string | Der Name der abzufragenden Verbindungsoption, z. B. implementationName, implementationVersion oder targetImplementationId. |
Rückgabewert
Beispiele
Implementierungsname eines Z39.50-Servers auslesen
<?php
// Verbindung zu einem Z39.50-Server herstellen
$id = yaz_connect('z3950.example.com/VOYAGER');
if ($id) {
// Suche initiieren und warten
yaz_search($id, 'rpn', '@attr 1=4 "Bibliothek"');
yaz_wait();
// Implementierungsname des Servers abfragen
$implName = yaz_get_option($id, 'implementationName');
$implVersion = yaz_get_option($id, 'implementationVersion');
echo "Server-Implementierung: " . htmlspecialchars($implName) . "\n";
echo "Version: " . htmlspecialchars($implVersion) . "\n";
} else {
echo "Verbindung fehlgeschlagen.\n";
}
?>
Mehrere Verbindungsoptionen ausgeben
<?php
$id = yaz_connect('z3950.example.org/Default');
if ($id) {
yaz_wait();
$options = [
'implementationName',
'implementationVersion',
'targetImplementationId',
];
foreach ($options as $opt) {
$value = yaz_get_option($id, $opt);
echo $opt . ': ' . (empty($value) ? '(nicht verfügbar)' : htmlspecialchars($value)) . "\n";
}
} else {
echo "Keine Verbindung möglich.\n";
}
?>
// Wichtig · Fallstricke
Deprecation-Hinweis: Die YAZ-Erweiterung (ext/yaz) gilt als veraltet und wird in aktuellen PHP-Versionen nicht mehr aktiv weiterentwickelt. Sie ist als PECL-Paket verfügbar, sollte aber für neue Projekte gemieden werden. Erwäge stattdessen eine alternative Z39.50-Bibliothek oder einen Web-Service-Zugang.
Die Funktion setzt voraus, dass die YAZ-PHP-Erweiterung korrekt installiert und aktiviert ist. Ohne diese Erweiterung ist yaz_get_option() nicht verfügbar und führt zu einem fatalen Fehler.