Использование SymfonyConsole для интерактивного приложения php cli
Я хочу разработать интерактивное php-приложение на основе команд, поэтому я провел некоторое исследование и наткнулся на компонент Symfony\Console. Это здорово, потому что это позволяет met запускать
php script.php command --option
Однако затем скрипт запускает команду и закрывается, и я хочу иметь возможность запустить другую команду. Так что в принципе, что-то вроде
php script.php
, который затем прослушивает php://стандартный ввод для команд, структурированный как
command --option
Затем запускает команду и начинает прослушивать новые команды. Когда выполняется определенная команда "выход", сценарий должен завершиться.
Я относительно новичок в Symfony и консольном компоненте, так что есть мысли о том, как это реализовать, используя Symfony\Консоль? Потому что мне действительно нравится, как Symfony\Console абстрагирует весь командный материал.
1 answers
Ну, вы должны вложить свой script.php в таком цикле:
while true {
<reading stdin>
<executing command via Symfony2 component>
}
Вы сможете завершить цикл, нажав Ctrl-C