Ref/readline-Phpdoc专题
readline_add_history
添加一行命令行历史记录
说明
bool <span
class="methodname">readline_add_history ( <span
class="methodparam">string $line )
这个函数添加一行到命令行历史记录 This function adds a line to the command line history.
参数
line
这一行将被添加到历史.
返回值
成功时返回 true, 或者在失败时返回 false。
readline_callback_handler_install
初始化一个 readline 回调接口,然后终端输出提示信息并立即返回
说明
bool <span
class="methodname">readline_callback_handler_install ( <span
class="methodparam">string $prompt ,
callable
$callback )
设置一个 readline 回调接口然后输出 prompt 并立即返回.
第二次调用这个函数不需要移除上一个回调接口,这个函数将自动覆盖旧的接口.
当配合 stream_select 时回调的特性非常有用,它允许在 IO 与用户输入 间交叉进行,不像<span class="function">readline.
参数
prompt
提示信息.
callback
callback 函数需要一个参数; 用户输入将被返回.
返回值
成功时返回 true, 或者在失败时返回 false。
范例
示例 #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";
?>
参见
- readline_callback_handler_remove
- readline_callback_read_char
- stream_select
readline_callback_handler_remove
移除上一个安装的回调函数句柄并且恢复终端设置
说明
bool <span class="methodname">readline_callback_handler_remove ( <span class="methodparam">void )
移除上一个安装的回调函数句柄并且恢复终端设置.
返回值
如果上一个被安装的回调函数句柄被移出返回 true 否则 false
如果没有找到的话.
范例
See readline_callback_handler_install for an example of how to use the readline callback interface.
参见
- readline_callback_handler_install
- readline_callback_read_char
readline_callback_read_char
当一个行被接收时读取一个字符并且通知 readline 调用回调函数
说明
void <span class="methodname">readline_callback_read_char ( <span class="methodparam">void )
读取用户输入中的一个字符.当一行被接收时,这个函数将通知 readline 调用使用 <span class="function">readline_callback_handler_install 安装的回调函数接口,并且 这一个行已经准备输入.
返回值
没有返回值。
范例
See readline_callback_handler_install for an example of how to use the readline callback interface.
参见
- readline_callback_handler_install
- readline_callback_handler_remove
readline_clear_history
清除历史
说明
bool <span class="methodname">readline_clear_history ( <span class="methodparam">void )
这个函数清除整个的命令行历史.
返回值
成功时返回 true, 或者在失败时返回 false。
readline_completion_function
注册一个完成函数
说明
bool <span
class="methodname">readline_completion_function ( <span
class="methodparam">callable
$function )
这个函数注册一个完成函数.这就像你在使用 Bash 时按 tab 键时你想要的功能一样
参数
function
你必须提供一个已经存在的函数的名字并且可以接受命令行中的部分输入
然后返回一些可能匹配的数组.
返回值
成功时返回 true, 或者在失败时返回 false。
readline_info
获取/设置readline内部的各个变量
说明
mixed <span
class="methodname">readline_info ([ <span
class="methodparam">string $varname
[, string
$newvalue ]] )
获取/设置readline内部的各个变量.
参数
varname
变量名.
newvalue
如果提供,将被设置成这个值.
返回值
如果调用时没有参数,这个函数将返回一个包括了所有已采用的readline设置的数组. 数组元素将索引是以下这些值:done, end, erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt, readline_name, and terminal_name.
如果调用是提供了一个或两个参数,原来的值将被返回.
readline_list_history
获取命令历史列表
说明
array <span class="methodname">readline_list_history ( <span class="methodparam">void )
获取整个命令行历史.
返回值
返回整个命令行历史的数组.元素的整数索引从零开始
readline_on_new_line
通知readline将光标移动到新行
说明
void <span class="methodname">readline_on_new_line ( <span class="methodparam">void )
告诉readline将光标移动到新行.
返回值
没有返回值。
readline_read_history
读取命令历史
说明
bool <span
class="methodname">readline_read_history ([ <span
class="methodparam">string $filename
] )
这个函数从一个文件读取命令历史
参数
filename
保存了命令历史的文件的路径.
返回值
成功时返回 true, 或者在失败时返回 false。
readline_redisplay
重绘显示区
说明
void <span class="methodname">readline_redisplay ( <span class="methodparam">void )
readline 重绘用于重绘显示区
返回值
没有返回值。
readline_write_history
写入历史记录
说明
bool <span
class="methodname">readline_write_history ([ <span
class="methodparam">string $filename
] )
这个函数将命令历史写入到一个文件.
参数
filename
保存文件的路径.
返回值
成功时返回 true, 或者在失败时返回 false。
readline
读取一行
说明
string <span
class="methodname">readline ([ <span
class="type">string $prompt ] )
从用户端读取一行.你必须自己使用 <span class="function">readline_add_history 将这一行添加到历史记录中
参数
prompt
你可以指定一个字符串来作为用户的提示信息
返回值
从用户端返回一个行字符串.返回的该行的行尾换行符会被删除
范例
示例 #1 readline Example
<?php
//get 3 commands from user
for ($i=0; $i < 3; $i++) {
$line = readline("Command: ");
readline_add_history($line);
}
//dump history
print_r(readline_list_history());
//dump variables
print_r(readline_info());
?>
目录
- readline_add_history — 添加一行命令行历史记录
- readline_callback_handler_install — 初始化一个 readline 回调接口,然后终端输出提示信息并立即返回
- readline_callback_handler_remove — 移除上一个安装的回调函数句柄并且恢复终端设置
- readline_callback_read_char — 当一个行被接收时读取一个字符并且通知 readline 调用回调函数
- readline_clear_history — 清除历史
- readline_completion_function — 注册一个完成函数
- readline_info — 获取/设置readline内部的各个变量
- readline_list_history — 获取命令历史列表
- readline_on_new_line — 通知readline将光标移动到新行
- readline_read_history — 读取命令历史
- readline_redisplay — 重绘显示区
- readline_write_history — 写入历史记录
- readline — 读取一行