Process Helper

The Process Helper shows processes as they're running and reports useful information about process status.

プロセス ヘルパーは、実行中のプロセスを表示し、プロセス ステータスに関する有用な情報を報告します。

To display process details, use the ProcessHelper and run your command with verbosity. For example, running the following code with a very verbose verbosity (e.g. -vv):

プロセスの詳細を表示するには、ProcessHelper を使用し、詳細なコマンドを実行します。たとえば、次のコードを非常に冗長な冗長性 (例: -vv) で実行します。
1
2
3
4
5
6
use Symfony\Component\Process\Process;

$helper = $this->getHelper('process');
$process = new Process(['figlet', 'Symfony']);

$helper->run($output, $process);

will result in this output:

次の出力が得られます。

It will result in more detailed output with debug verbosity (e.g. -vvv):

デバッグの詳細度 (-vvv など) を使用すると、より詳細な出力が得られます。

In case the process fails, debugging is easier:

プロセスが失敗した場合は、デバッグがより簡単になります。

Arguments

There are three ways to use the process helper:

プロセス ヘルパーを使用するには、次の 3 つの方法があります。
  • Using a command line string:

    コマンド ライン文字列の使用:
    1
    2
    // ...
    $helper->run($output, 'figlet Symfony');
  • An array of arguments:

    引数の配列:
    1
    2
    // ...
    $helper->run($output, ['figlet', 'Symfony']);

    Note

    ノート

    When running the helper against an array of arguments, be aware that these will be automatically escaped.

    引数の配列に対してヘルパーを実行する場合、これらは自動的にエスケープされることに注意してください。
  • Passing a Process instance:

    Process インスタンスを渡す:
    1
    2
    3
    4
    5
    6
    use Symfony\Component\Process\Process;
    
    // ...
    $process = new Process(['figlet', 'Symfony']);
    
    $helper->run($output, $process);

Customized Display

You can display a customized error message using the third argument of the run() method:

run() メソッドの 3 番目の引数を使用して、カスタマイズされたエラー メッセージを表示できます。
1
$helper->run($output, $process, 'The process failed :(');

A custom process callback can be passed as the fourth argument. Refer to the Process Component for callback documentation:

カスタム プロセス コールバックは、4 番目の引数として渡すことができます。コールバックのドキュメントについては、プロセス コンポーネントを参照してください。
1
2
3
4
5
6
7
8
9
use Symfony\Component\Process\Process;

$helper->run($output, $process, 'The process failed :(', function ($type, $data) {
    if (Process::ERR === $type) {
        // ... do something with the stderr output
    } else {
        // ... do something with the stdout
    }
});