readline_callback_handler_install

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_callback_handler_install — readline 콜백 인터페이스와 터미널을 초기화하고 프롬프트를 출력하고 즉시 반환합니다.


설명

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

readline 콜백 인터페이스를 설정한 다음 prompt를 인쇄하고 즉시 반환합니다. 이전 콜백 인터페이스를 제거하지 않고 이 함수를 두 번 호출하면 이전 인터페이스를 자동으로 편리하게 덮어씁니다.

콜백 기능은 readline()과 달리 IO 및 사용자 입력의 인터리빙을 허용하므로 stream_select()와 결합할 때 유용합니다.


매개변수

prompt
프롬프트 메시지입니다.
callback
callback 함수는 하나의 매개변수를 취합니다. 사용자 입력이 반환되었습니다.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


Examples

예제 #1 Readline 콜백 인터페이스 예제

                  
<?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() - 문자를 읽고 줄이 수신되면 readline 콜백 인터페이스에 알립니다.
  • stream_select() - 초 및 마이크로초로 지정된 시간 제한을 사용하여 지정된 스트림 배열에서 select() 시스템 호출과 동일한 기능을 실행합니다.