5

インタラクティブなコマンド ベースの php アプリケーションを開発したいので、調査を行ったところ、Symfony\Console コンポーネントにたどり着きました。これは素晴らしいことです。

php script.php command --option

ただし、スクリプトはコマンドを実行して終了し、別のコマンドを実行できるようにしたいと考えています。基本的に、次のようなものです

php script.php

次に、次のように構造化されたコマンドを php://stdin でリッスンします。

command --option

次にコマンドを実行し、新しいコマンドのリッスンを開始します。特定の「exit」コマンドが実行されると、スクリプトは終了する必要があります。

私は Symfony と Console コンポーネントに比較的慣れていないので、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 に答える