Использование SymfonyConsole для интерактивного приложения php cli


Я хочу разработать интерактивное php-приложение на основе команд, поэтому я провел некоторое исследование и наткнулся на компонент Symfony\Console. Это здорово, потому что это позволяет met запускать

php script.php command --option

Однако затем скрипт запускает команду и закрывается, и я хочу иметь возможность запустить другую команду. Так что в принципе, что-то вроде

php script.php

, который затем прослушивает php://стандартный ввод для команд, структурированный как

command --option

Затем запускает команду и начинает прослушивать новые команды. Когда выполняется определенная команда "выход", сценарий должен завершиться.

Я относительно новичок в Symfony и консольном компоненте, так что есть мысли о том, как это реализовать, используя Symfony\Консоль? Потому что мне действительно нравится, как Symfony\Console абстрагирует весь командный материал.

Author: Wouter J, 2013-11-03

1 answers

Ну, вы должны вложить свой script.php в таком цикле:

while true {
   <reading stdin>
   <executing command via Symfony2 component>
}

Вы сможете завершить цикл, нажав Ctrl-C

 4
Author: Vladislav Rastrusny, 2013-11-03 17:18:17