Php/docs/function.readline-callback-handler-install

来自菜鸟教程
跳转至:导航、​搜索

readline_callback_handler_install

(PHP 5 >= 5.1.0, PHP 7)

readline_callback_handler_install初始化一个 readline 回调接口,然后终端输出提示信息并立即返回


说明

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

设置一个 readline 回调接口然后输出 prompt 并立即返回. 第二次调用这个函数不需要移除上一个回调接口,这个函数将自动覆盖旧的接口.

当配合 stream_select() 时回调的特性非常有用,它允许在 IO 与用户输入 间交叉进行,不像readline().


参数

prompt
提示信息.
callback
callback 函数需要一个参数; 用户输入将被返回.


返回值

成功时返回 true, 或者在失败时返回 false


范例

Example #1 Readline Callback Interface Example

<?phpfunction rl_callback($ret){    global $c, $prompting;    echo "You entered: $ret\n";    $c++;    if ($c > 10) {        $prompting = false;        readline_callback_handler_remove();    } else {        readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');    }}$c = 1;$prompting = true;readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');while ($prompting) {    $w = NULL;    $e = NULL;    $n = stream_select($r = array(STDIN), $w, $e, null);    if ($n && in_array(STDIN, $r)) {        // read a character, will call the callback when a newline is entered        readline_callback_read_char();    }}echo "Prompting disabled. All done.\n";?>

参见