PHP Portal » PHP Handbuch » readline_callback_handler_install

Werbung

readline_callback_handler_install


(PHP 5 >= 5.1.0)

readline_callback_handler_installInitialisiert das readline-Callback-Interface und das Terminal, gibt den Prompt aus und springt direkt zurück

Beschreibung

bool readline_callback_handler_install ( string $prompt , callback $callback )

Initialisiert ein readline-Callback-Interface, gibt danach den prompt aus und springt direkt zurück. Der doppelte Aufruf der Funktion ohne Zurücksetzen des verwendeten Callback-Interfaces wird automatisch und in geeigneter Weise das alte Interface überschreiben.

Die Callback-Fähigkeiten sind hilfreich, wenn sie mit stream_select() kombiniert werden, da dies eine Verschränkung von IO und Benutzereingaben wie mittels readline() ermöglicht.

Parameter-Liste

prompt

Die Prompt-Message.

callback

Die callback -Funktion benötigt einen Parameter; die Benutzereingabe wird zurückgegeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function rl_callback($ret) { global $c, $prompting; echo "Sie haben eingegeben: $ret\n"; $c++; if ($c > 10) { $prompting = false; readline_callback_handler_remove(); } else { readline_callback_handler_install("[$c] Geben Sie etwas ein: ", 'rl_callback'); } } $c = 1; $prompting = true; readline_callback_handler_install("[$c] Geben Sie etwas ein: ", 'rl_callback'); while ($prompting) { $w = NULL; $e = NULL; $n = stream_select($r = array(STDIN), $w, $e, null); if ($n && in_array(STDIN, $r)) { // Liest das aktuelle Zeichen und ruft die Callbackfunktion auf, wenn ein // Newline-Zeichen eingegeben wurde readline_callback_read_char(); } } echo "Eingabe deaktiviert. Komplett ausgeführt.\n";

Siehe auch

  • readline_callback_handler_remove() - Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück
  • readline_callback_read_char() - Liest ein Zeichen und informiert das readline-Callback-Interface, wenn die Eingabezeile abgeschlossen wurde
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec