Да, это возможно. Чтобы быть интерактивным, программа должна быть в состоянии ждать и читать входные данные пользователя из stdin . В PHP вы можете прочитать из stdin , открыв дескриптор файла до 'php://stdin'
. Взяв из ответ на другой вопрос , вот пример интерактивной подсказки пользователя в PHP (конечно, если вы запускаете из командной строки):
echo "Continue? (Y/N) - ";
$stdin = fopen('php://stdin', 'r');
$response = fgetc($stdin);
if ($response != 'Y') {
echo "Aborted.\n";
exit;
}
Конечно, чтобы получить полную строку ввода, а не один символ, вам понадобится fgets()
вместо fgetc()
. В зависимости от того, что сделает ваша программа / оболочка, вся программа может быть структурирована как один большой непрерывный цикл. Надеюсь, это даст вам представление о том, как начать работу. Если вы хотите получить действительно фантазию (псевдо-GUI) CLI, вы можете использовать ncurses .