使用Symfony \ Console进行交互式php cli应用程序

时间:2013-11-03 16:53:38

标签: php symfony console command-line-interface symfony-components

我想开发一个基于交互式命令的php应用程序,所以我做了一些研究并碰到了Symfony \ Console组件。这很棒,因为它让我们遇到了运行

php script.php command --option

然而,脚本然后运行命令并关闭,我希望能够运行另一个命令。所以基本上就像

php script.php

然后在php:// stdin上侦听命令,结构为

command --option

然后运行该命令并开始侦听新命令。当运行特定的“exit”命令时,脚本应该终止。

我对Symfony和Console组件比较陌生,所以有关如何使用Symfony \ Console实现这一点的想法?因为我非常喜欢Symfony \ Console如何抽象出所有命令内容。

1 个答案:

答案 0 :(得分:4)

好吧,你必须把你的script.php包含在这样一个循环中:

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

您可以按Ctrl-C

终止循环