readline callback handler install()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

readline_callback_handler_install

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_callback_handler_install — Initierar readline-callback-gränssnittet och terminalen, skriver ut prompten och återvänder omedelbart

Beskrivning

`readline_callback_handler_install(string $prompt, callable $callback): bool`

Sätter upp ett readline-callback-gränssnitt, skriver ut prompten och återvänder omedelbart. Om denna funktion anropas två gånger utan att ta bort det tidigare callback-gränssnittet, kommer det gamla gränssnittet automatiskt att ersättas.

Callback-funktionen är användbar i kombination med `stream_select()` eftersom den möjliggör att växla mellan IO och användarinmatning, till skillnad från den vanliga readline()-funktionen.

Parametrar

prompt: Meddelandet som visas för användaren som en prompt.

callback: Callback-funktionen tar ett parameter; användarinmatningen som returneras.

Returvärden

Returnerar true vid framgång eller false vid misslyckande.

Exempel

Exempel #1 Readline-callback-gränssnittsexempel

<?php
function rl_callback($ret)
{
    global $c, $prompting;

    echo "Du skrev: $ret\n";
    $c++;

    if ($c > 10) {
        $prompting = false;
        readline_callback_handler_remove();
    } else {
        readline_callback_handler_install("[$c] Skriv något: ", 'rl_callback');
    }
}

$c = 1;
$prompting = true;

readline_callback_handler_install("[$c] Skriv något: ", 'rl_callback');

while ($prompting) {
    $w = NULL;
    $e = NULL;
    $n = stream_select($r = array(STDIN), $w, $e, null);
    if ($n && in_array(STDIN, $r)) {
        // Läs ett tecken, anropar callback när en radmatartecken matas in
        readline_callback_read_char();
    }
}

echo "Promptning inaktiverad. Allt klart.\n";
?>

Se även

  • readline_callback_handler_remove() — Tar bort en tidigare installerad callback-hanterare och återställer terminalinställningarna
  • readline_callback_read_char() — Läser ett tecken och informerar readline-callback-gränssnittet när en rad tas emot
  • stream_select() — Kör motsvarande select()-systemanrop på de angivna array:erna av strömmar med en timeout specificerad i sekunder och mikrosekunder

Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.readline-callback-handler-install.php

PHP Funktioner Funktionsreferens


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp och Datorservice som har sponsrat Linux.se med webserver.