©
This document uses PHP Chinese website manual Release
(PHP 5 >= 5.1.0)
readline_callback_handler_install — 初始化一个 readline 回调接口,然后终端输出提示信息并立即返回
$prompt
, callable $callback
)
设置一个 readline 回调接口然后输出 prompt
并立即返回.
第二次调用这个函数不需要移除上一个回调接口,这个函数将自动覆盖旧的接口.
当配合 stream_select() 时回调的特性非常有用,它允许在 IO 与用户输入 间交叉进行,不像 readline() .
prompt
提示信息.
callback
callback
函数需要一个参数; 用户输入将被返回.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 Readline Callback Interface Example
<?php
function 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" ;
?>