readline callback handler install(): Skillnad mellan sidversioner
Admin (diskussion | bidrag) |
Admin (diskussion | bidrag) |
||
(2 mellanliggande sidversioner av samma användare visas inte) | |||
Rad 5: | Rad 5: | ||
==== Beskrivning ==== | ==== Beskrivning ==== | ||
`readline_callback_handler_install(string $prompt, callable $callback): bool` | '''''`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. | 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. | ||
Rad 12: | Rad 12: | ||
==== Parametrar ==== | ==== Parametrar ==== | ||
'''prompt:''' | '''prompt:''' | ||
Meddelandet som visas för användaren som en prompt. | Meddelandet som visas för användaren som en prompt. | ||
'''callback:''' | '''callback:''' | ||
Callback-funktionen tar ett parameter; användarinmatningen som returneras. | Callback-funktionen tar ett parameter; användarinmatningen som returneras. | ||
Rad 24: | Rad 24: | ||
'''Exempel #1 Readline-callback-gränssnittsexempel''' | '''Exempel #1 Readline-callback-gränssnittsexempel''' | ||
<pre> | |||
<?php | <?php | ||
function rl_callback($ret) | function rl_callback($ret) | ||
Rad 58: | Rad 58: | ||
echo "Promptning inaktiverad. Allt klart.\n"; | echo "Promptning inaktiverad. Allt klart.\n"; | ||
?> | ?> | ||
</pre> | |||
==== 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 = | = Sidslut = | ||
Nuvarande version från 23 oktober 2024 kl. 06.53
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.