5

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

php script.php command --option

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

php script.php

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

command --option

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

我对 Symfony 和控制台组件比较陌生,所以关于如何使用 Symfony\Console 来实现它有什么想法吗?因为我真的很喜欢 Symfony\Console 将所有命令内容抽象出来的方式。

4

1 回答 1

4

好吧,您必须将您的 script.php 包含在这样的循环中:

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

您将能够通过按 Ctrl-C 来终止循环

于 2013-11-03T17:18:17.490 回答