(PHP 5 >= 5.1.0)
readline_callback_handler_install — Initialisiert das readline-Callback-Interface und das Terminal, gibt den Prompt aus und springt direkt zurück
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.
prompt
Die Prompt-Message.
callback
Die callback
-Funktion benötigt einen Parameter;
die Benutzereingabe wird zurückgegeben.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Beispiel #1 Readline-Callback-Interface-Beispiel
<?php
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";
?>