readline_callback_handler_install

(PHP 5 >= 5.1.0, PHP 7)

readline_callback_handler_installInicializa la interfaz de llamada de readline y la terminal, imprime el mensaje y retorna inmediatamente

Descripción

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

Configura una interfaz de llamada readline y luego imprime mensaje, luego de lo cual retorna. Si llamas a esta función más de una vez sin eliminar la interfaz de llamada anterior automaticamente reemplazará la versión anterior.

La interfaz de llamada es útil cuando se combina con stream_select() ya que permite la intercalación de IO (entrada/salida) y entrada del usuario, a diferencia de readline().

Parámetros

mensaje

El mensaje a imprimir.

funcion

La función funcion recibe un parámetro; la entrada del usuario retornada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de interfaz de llamada readline

<?php
function rl_callback($ret)
{
    global 
$c$prompting;

    echo 
"Has ingresado: $ret\n";
    
$c++;

    if (
$c 10) {
        
$prompting false;
        
readline_callback_handler_remove();
    } else {
        
readline_callback_handler_install("[$c] Ingresa algo: "'rl_callback');
    }
}

$c 1;
$prompting true;

readline_callback_handler_install("[$c] Ingresa algo: "'rl_callback');

while (
$prompting) {
    
$w NULL;
    
$e NULL;
    
$n stream_select($r = array(STDIN), $w$enull);
    if (
$n && in_array(STDIN$r)) {
        
// lee un carácter, llama a la funcion cuando una nueva línea es ingresada
        
readline_callback_read_char();
    }
}

echo 
"Mensaje deshabilitado. Todo hecho.\n";
?>

Ver también

  • readline_callback_handler_remove() - Elimina una interfaz de llamada anteriormente agregada y retaura la configuración de terminal
  • readline_callback_read_char() - Lee un carácter e informa a la interfaz de llamada de readline cuando una línea es recibida
  • stream_select() - Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec