@@ -30,7 +30,7 @@ Run this command from inside your controller via::
3030    use Symfony\Bundle\FrameworkBundle\Console\Application; 
3131    use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
3232    use Symfony\Component\Console\Input\ArrayInput; 
33-     use Symfony\Component\Console\Output\StreamOutput ; 
33+     use Symfony\Component\Console\Output\BufferedOutput ; 
3434    use Symfony\Component\HttpFoundation\Response; 
3535
3636    class SpoolController extends Controller 
@@ -46,14 +46,12 @@ Run this command from inside your controller via::
4646               '--message-limit' => $messages, 
4747            )); 
4848            // You can use NullOutput() if you don't need the output 
49-             $output = new StreamOutput(tmpfile(), StreamOutput::VERBOSITY_NORMAL ); 
49+             $output = new BufferedOutput( ); 
5050            $application->run($input, $output); 
5151
5252            // return the output, don't use if you used NullOutput() 
53-             rewind($output->getStream()); 
54-             $content = stream_get_contents($output->getStream()); 
55-             fclose($output->getStream()); 
56- 
53+             $content = $output->fetch(); 
54+              
5755            // return new Response(""), if you used NullOutput() 
5856            return new Response($content); 
5957        } 
@@ -62,7 +60,7 @@ Run this command from inside your controller via::
6260Showing Colorized Command Output
6361-------------------------------- 
6462
65- By telling the ``StreamOutput `` it is decorated via the third  parameter,
63+ By telling the ``BufferedOutput `` it is decorated via the second  parameter,
6664it will return the Ansi color-coded content. The `SensioLabs AnsiToHtml converter `_
6765can be used to convert this to colorful HTML.
6866
@@ -78,8 +76,8 @@ Now, use it in your controller::
7876    namespace AppBundle\Controller; 
7977
8078    use SensioLabs\AnsiConverter\AnsiToHtmlConverter; 
79+     use Symfony\Component\Console\Output\BufferedOutput; 
8180    use Symfony\Component\Console\Output\OutputInterface; 
82-     use Symfony\Component\Console\Output\StreamOutput; 
8381    use Symfony\Component\HttpFoundation\Response; 
8482    // ... 
8583
@@ -88,14 +86,15 @@ Now, use it in your controller::
8886        public function sendSpoolAction($messages = 10) 
8987        { 
9088            // ... 
91-             $output = new StreamOutput(tmpfile(), StreamOutput::VERBOSITY_NORMAL, true); 
89+             $output = new BufferedOutput( 
90+                 OutputInterface::VERBOSITY_NORMAL, 
91+                 true // true for decorated 
92+             ); 
9293            // ... 
9394
9495            // return the output 
9596            $converter = new AnsiToHtmlConverter(); 
96-             rewind($output->getStream()); 
97-             $content = stream_get_contents($output->getStream()); 
98-             fclose($output->getStream()); 
97+             $content = $output->fetch(); 
9998
10099            return new Response($converter->convert($content)); 
101100        } 
0 commit comments