Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

readline_callback_handler_install

Readline-Funktionen

    Befehl:
bool readline_callback_handler_install ( string $prompt , callback $callback )


    Parameter-Liste:
NameBeschreibung
promptDie Prompt-Message.
callbackDie callback-Funktion benötigt einen Parameter; die Benutzereingabe wird zurückgegeben.

    Beschreibung:
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.


    Aktiv in Version:
(PHP 5 >= 5.1.0, PHP 7)

    Siehe auch:
Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück
 
Liest ein Zeichen und informiert das readline-Callback-Interface, wenn die Eingabezeile abgeschlossen wurde
 
Führt das Äquivalent der select ()-System auf den gegebenen Anordnungen von Streams mit einem Timeout von tv_sec und tv_usec angegeben
 

readline_callback_handler_install() - Beispiel:


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

Readline-Funktionen