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 <?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"; ?>

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.