merged branch canni/fix_type_hint (PR #2912)
Commits
-------
e417153
[BugFix][Console] Fix type hint for output formatter
Discussion
----------
[BugFix][Console] Fix type hint for OutputFormatter in OutputStream constructors
I consider this as a bug, cause it disables ability to change formatter implementation
BugFix: yes
Feature addition: no
Sysmfony2 test pass: yes
---------------------------------------------------------------------------
by fabpot at 2011/12/18 00:23:05 -0800
It's not a bug fix as existing code that extend these classes will now fail.
---------------------------------------------------------------------------
by stof at 2011/12/18 03:51:38 -0800
@fabpot does the constructor enforces its signature for child classes ? I don't think so.
This commit is contained in:
commit
bbec4bb32b
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\Console\Output;
|
namespace Symfony\Component\Console\Output;
|
||||||
|
|
||||||
use Symfony\Component\Console\Formatter\OutputFormatter;
|
use Symfony\Component\Console\Formatter\OutputFormatterInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ConsoleOutput is the default class for all CLI output. It uses STDOUT.
|
* ConsoleOutput is the default class for all CLI output. It uses STDOUT.
|
||||||
@ -40,7 +40,7 @@ class ConsoleOutput extends StreamOutput
|
|||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
public function __construct($verbosity = self::VERBOSITY_NORMAL, $decorated = null, OutputFormatter $formatter = null)
|
public function __construct($verbosity = self::VERBOSITY_NORMAL, $decorated = null, OutputFormatterInterface $formatter = null)
|
||||||
{
|
{
|
||||||
parent::__construct(fopen('php://stdout', 'w'), $verbosity, $decorated, $formatter);
|
parent::__construct(fopen('php://stdout', 'w'), $verbosity, $decorated, $formatter);
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\Console\Output;
|
namespace Symfony\Component\Console\Output;
|
||||||
|
|
||||||
use Symfony\Component\Console\Formatter\OutputFormatter;
|
use Symfony\Component\Console\Formatter\OutputFormatterInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* StreamOutput writes the output to a given stream.
|
* StreamOutput writes the output to a given stream.
|
||||||
@ -45,7 +45,7 @@ class StreamOutput extends Output
|
|||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
public function __construct($stream, $verbosity = self::VERBOSITY_NORMAL, $decorated = null, OutputFormatter $formatter = null)
|
public function __construct($stream, $verbosity = self::VERBOSITY_NORMAL, $decorated = null, OutputFormatterInterface $formatter = null)
|
||||||
{
|
{
|
||||||
if (!is_resource($stream) || 'stream' !== get_resource_type($stream)) {
|
if (!is_resource($stream) || 'stream' !== get_resource_type($stream)) {
|
||||||
throw new \InvalidArgumentException('The StreamOutput class needs a stream as its first argument.');
|
throw new \InvalidArgumentException('The StreamOutput class needs a stream as its first argument.');
|
||||||
|
Reference in New Issue
Block a user