diff --git a/src/Symfony/Component/Process/README.md b/src/Symfony/Component/Process/README.md index 7c83ed413e..7222fe8957 100644 --- a/src/Symfony/Component/Process/README.md +++ b/src/Symfony/Component/Process/README.md @@ -7,12 +7,13 @@ In this example, we run a simple directory listing and get the result back: ```php use Symfony\Component\Process\Process; +use Symfony\Component\Process\Exception\ProcessFailedException; $process = new Process('ls -lsa'); $process->setTimeout(3600); $process->run(); if (!$process->isSuccessful()) { - throw new RuntimeException($process->getErrorOutput()); + throw new ProcessFailedException($process); } print $process->getOutput(); @@ -21,6 +22,19 @@ print $process->getOutput(); You can think that this is easy to achieve with plain PHP but it's not especially if you want to take care of the subtle differences between the different platforms. +You can simplify the code by using `mustRun()` instead of `run()`, which will +throw a `ProcessFailedException` automatically in case of a problem: + +```php +use Symfony\Component\Process\Process; + +$process = new Process('ls -lsa'); +$process->setTimeout(3600); +$process->mustRun(); + +print $process->getOutput(); +``` + And if you want to be able to get some feedback in real-time, just pass an anonymous function to the ``run()`` method and you will get the output buffer as it becomes available: