(PHP 5 >= 5.1.0, PHP 7, PHP 8)
readline_callback_handler_install — Initialise l'interface et le terminal de rappel de readline, affiche le prompt et retourne immédiatement
Définie une interface de rappel pour readline, affiche le prompt
et retourne immédiatement. Appeler cette fonction deux fois sans effacer au préalable l'interface de rappel précédente effacera automatiquement et proprement l'ancienne interface.
La fonctionnalité de rappel est très utile lorsque combinée à la fonction stream_select() permettant l'interconnexion IO / entrée utilisateur, à la différence de readline().
prompt
Le message de prompt.
callback
La fonction callback
prend un paramètre : l'entrée utilisateur retournée.
Exemple #1 Exemple d'interface de rappel 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] Entrer quelque chose : ", 'rl_callback');
}
}
$c = 1;
$prompting = true;
readline_callback_handler_install("[$c] Entrer quelque chose : ", 'rl_callback');
while ($prompting) {
$w = NULL;
$e = NULL;
$n = stream_select($r = array(STDIN), $w, $e, null);
if ($n && in_array(STDIN, $r)) {
// lit un caractère, appellera la fonction de callback lorsqu'une nouvelle ligne est entrée
readline_callback_read_char();
}
}
echo "Le prompt est désactivé. Tout a été effectué.\n";
?>