(PHP 5 >= 5.1.0, PHP 7, PHP 8)
readline_callback_handler_install — Inicializa la interfaz y el terminal de devolución de llamada de readline, muestra el prompt y retorna inmediatamente
Define una interfaz de devolución de llamada para readline, muestra el
prompt y retorna inmediatamente.
Llamar a esta función dos veces sin borrar previamente la interfaz
de devolución de llamada anterior borrará automáticamente
y correctamente la interfaz antigua.
La funcionalidad de devolución de llamada es muy útil cuando se combina con la función stream_select() que permite la interconexión IO / entrada de usuario, a diferencia de readline().
Esta función solo está disponible si la biblioteca readline con la que se compiló PHP la admite. No está disponible en Windows.
promptEl mensaje de prompt.
callback
La función callback toma
un argumento: la entrada de usuario retornada.
Retorna siempre true.
| Versión | Descripción |
|---|---|
| 8.5.0 |
El tipo de retorno es ahora true, anteriormente era bool.
|
Ejemplo #1 Ejemplo de interfaz de devolución de llamada de 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] Entrar algo: ", 'rl_callback');
}
}
$c = 1;
$prompting = true;
readline_callback_handler_install("[$c] Entrar algo: ", 'rl_callback');
while ($prompting) {
$w = NULL;
$e = NULL;
$n = stream_select($r = array(STDIN), $w, $e, null);
if ($n && in_array(STDIN, $r)) {
// lee un carácter, llamará a la función de devolución de llamada cuando se ingrese una nueva línea
readline_callback_read_char();
}
}
echo "El prompt está desactivado. Todo ha sido realizado.\n";
?>