Backspace заставляет всю строку очищаться после ввода пользователя - PullRequest
1 голос
/ 28 февраля 2020

Когда я вывожу на консоль, а затем жду ввода пользователя с помощью readline (), вот так:

<?php

fwrite(STDOUT, 'Would you like some apple pie? [y/N]');
readline();

И пользователь сначала вводит какой-то ответ (например, он неправильно набирает и вводит ' T '), еще не нажимая ввод, если пользователь затем хочет исправить этот ответ, нажимая клавишу возврата, пока весь ответ не исчезнет, ​​вся строка очищается. Это своего рода раздражение, и оно не кажется необходимым (потому что другие команды кажутся вполне подходящими для пользователя, очищающего любой ввод перед нажатием клавиши ввода).

Есть ли способ предотвратить это, что я пропал?

1 Ответ

0 голосов
/ 28 февраля 2020

Функция readline принимает аргумент, который позволяет вам спрашивать пользователя и избегать очистки строки.

<?php

$answer = readline('Would you like some apple pie? [y/N]');

Вы можете обратиться к документации readline для получения дополнительной информации.

...