Я не уверен, насколько сложным может быть ваш ввод, но readline - отличный способ справиться с этим для интерактивных программ CLI.
Вы получаете от него те же удобства, что и от вашей раковины, такие как история команд.
Использовать его так же просто, как:
$command = readline("Enter Command: ");
/* Then add the input to the command history */
readline_add_history($command);
Если доступно , это действительно упрощает процесс.
Вот типичный do-case-while для реализации консоли:
do {
$cmd = trim(strtolower( readline("\n> Command: ") ));
readline_add_history($cmd);
switch ($cmd) {
case 'hello': print "\n -- HELLO!\n"; break;
case 'bye': break;
default: print "\n -- You say '$cmd'... say 'bye' or 'hello'.\n";
}
} while ($cmd!='bye');
, где пользователь может использовать стрелки (вверх и вниз) для доступа к истории.