Zum Inhalt

Die Vornamencheck-API per PHP abfragen

Hier ein mögliches Skript in PHP, das auf die Vornamencheck-API zugreift.

<?php
/**
 * Vornamencheck API Client
 * 
 * Überprüft einen Vornamen auf sein wahrscheinliches Geschlecht
 * via vornamencheck.de API
 */

// Fehlerbehandlung aktivieren
set_error_handler(function($severity, $message, $file, $line) {
    throw new ErrorException($message, 0, $severity, $file, $line);
});

/**
 * Übersetzt das englische Geschlecht in deutsche Bezeichnung
 */
function geschlechtAufDeutsch(string $gender): string {
    return match($gender) {
        'female' => 'weiblich',
        'male' => 'männlich',
        default => 'unbekannt'
    };
}

/**
 * Ruft die API ab und gibt das Ergebnis zurück
 */
function checkName(string $name): array {
    $apiUrl = 'https://vornamencheck.de/api/v1/names/gender';

    // API-Anfrage vorbereiten
    $ch = curl_init();
    curl_setopt_array($ch, [
        CURLOPT_URL => $apiUrl . '?name=' . urlencode($name),
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FAILONERROR => true
    ]);

    try {
        // API-Anfrage durchführen
        $response = curl_exec($ch);

        if ($response === false) {
            throw new Exception(curl_error($ch));
        }

        // JSON dekodieren
        $result = json_decode($response, true);

        if (json_last_error() !== JSON_ERROR_NONE) {
            throw new Exception('Fehler beim Dekodieren der JSON-Antwort');
        }

        return $result;

    } finally {
        curl_close($ch);
    }
}

/**
 * Gibt das Ergebnis formatiert aus
 */
function printResult(array $result): void {
    echo PHP_EOL;
    echo "Ergebnis für den Namen '{$result['name']}':" . PHP_EOL;
    echo str_repeat('-', 40) . PHP_EOL;
    echo "Geschlecht: " . geschlechtAufDeutsch($result['gender']) . PHP_EOL;
    echo "Wahrscheinlichkeit weiblich: {$result['statistics']['femaleProbability']} von 10" . PHP_EOL;
    echo "Wahrscheinlichkeit männlich: {$result['statistics']['maleProbability']} von 10" . PHP_EOL;
}

// Hauptprogramm
try {
    // Kommandozeilenargumente prüfen
    if ($argc !== 2) {
        throw new Exception("Verwendung: php script.php VORNAME");
    }

    $name = $argv[1];

    // API abfragen und Ergebnis ausgeben
    $result = checkName($name);
    printResult($result);

} catch (Exception $e) {
    fwrite(STDERR, "Fehler: " . $e->getMessage() . PHP_EOL);
    exit(1);
}

Die Ausgabe erfolgt dann in dieser Form:

Ergebnis für den Namen 'Petra:'
----------------------------------------
Geschlecht: weiblich
Wahrscheinlichkeit weiblich: 10 von 10
Wahrscheinlichkeit männlich: 0 von 10

Feedback / Kontakt

Wenn Sie Fragen oder Anregungen zum Artikel Vornamencheck haben, senden Sie mir bitte eine E-Mail an: vornamencheck+php@technotes.jakoubek.net