ConsoleSectionOutput
extends StreamOutput
in package
StreamOutput writes the output to a given stream.
Tags
Table of Contents
Properties
- $content : mixed
- $formatter : mixed
- $lines : mixed
- $sections : mixed
- $stream : mixed
- $terminal : mixed
- $verbosity : mixed
Methods
- __construct() : mixed
- clear() : mixed
- Clears previous output for this section.
- getContent() : string
- getFormatter() : OutputFormatterInterface
- Returns current output formatter instance.
- getStream() : resource
- Gets the stream attached to this StreamOutput instance.
- getVerbosity() : int
- Gets the current verbosity of the output.
- isDebug() : bool
- Returns whether verbosity is debug (-vvv).
- isDecorated() : bool
- Gets the decorated flag.
- isQuiet() : bool
- Returns whether verbosity is quiet (-q).
- isVerbose() : bool
- Returns whether verbosity is verbose (-v).
- isVeryVerbose() : bool
- Returns whether verbosity is very verbose (-vv).
- overwrite() : mixed
- Overwrites the previous output with a new message.
- setDecorated() : mixed
- Sets the decorated flag.
- setFormatter() : mixed
- setVerbosity() : mixed
- Sets the verbosity of the output.
- write() : mixed
- Writes a message to the output.
- writeln() : mixed
- Writes a message to the output and adds a newline at the end.
- doWrite() : mixed
- Writes a message to the output.
- hasColorSupport() : bool
- Returns true if the stream supports colorization.
- getDisplayLength() : string
- popStreamContentUntilCurrentSection() : string
- At initial stage, cursor is at the end of stream output. This method makes cursor crawl upwards until it hits current section. Then it erases content it crawled through. Optionally, it erases part of current section too.
Properties
$content
private
mixed
$content
= []
$formatter
private
mixed
$formatter
$lines
private
mixed
$lines
= 0
$sections
private
mixed
$sections
$stream
private
mixed
$stream
$terminal
private
mixed
$terminal
$verbosity
private
mixed
$verbosity
Methods
__construct()
public
__construct(resource $stream, array<string|int, ConsoleSectionOutput> &$sections, int $verbosity, bool $decorated, OutputFormatterInterface $formatter) : mixed
Parameters
- $stream : resource
- $sections : array<string|int, ConsoleSectionOutput>
- $verbosity : int
-
The verbosity level (one of the VERBOSITY constants in OutputInterface)
- $decorated : bool
-
Whether to decorate messages (null for auto-guessing)
- $formatter : OutputFormatterInterface
-
Output formatter instance (null to use default OutputFormatter)
clear()
Clears previous output for this section.
public
clear([int $lines = null ]) : mixed
Parameters
- $lines : int = null
-
Number of lines to clear. If null, then the entire output of this section is cleared
getContent()
public
getContent() : string
Return values
stringgetFormatter()
Returns current output formatter instance.
public
getFormatter() : OutputFormatterInterface
Return values
OutputFormatterInterfacegetStream()
Gets the stream attached to this StreamOutput instance.
public
getStream() : resource
Return values
resource —A stream resource
getVerbosity()
Gets the current verbosity of the output.
public
getVerbosity() : int
Return values
int —The current level of verbosity (one of the VERBOSITY constants)
isDebug()
Returns whether verbosity is debug (-vvv).
public
isDebug() : bool
Return values
bool —true if verbosity is set to VERBOSITY_DEBUG, false otherwise
isDecorated()
Gets the decorated flag.
public
isDecorated() : bool
Return values
bool —true if the output will decorate messages, false otherwise
isQuiet()
Returns whether verbosity is quiet (-q).
public
isQuiet() : bool
Return values
bool —true if verbosity is set to VERBOSITY_QUIET, false otherwise
isVerbose()
Returns whether verbosity is verbose (-v).
public
isVerbose() : bool
Return values
bool —true if verbosity is set to VERBOSITY_VERBOSE, false otherwise
isVeryVerbose()
Returns whether verbosity is very verbose (-vv).
public
isVeryVerbose() : bool
Return values
bool —true if verbosity is set to VERBOSITY_VERY_VERBOSE, false otherwise
overwrite()
Overwrites the previous output with a new message.
public
overwrite(array<string|int, mixed>|string $message) : mixed
Parameters
- $message : array<string|int, mixed>|string
setDecorated()
Sets the decorated flag.
public
setDecorated(mixed $decorated) : mixed
Parameters
- $decorated : mixed
-
Whether to decorate the messages
setFormatter()
public
setFormatter(OutputFormatterInterface $formatter) : mixed
Parameters
- $formatter : OutputFormatterInterface
setVerbosity()
Sets the verbosity of the output.
public
setVerbosity(mixed $level) : mixed
Parameters
- $level : mixed
-
The level of verbosity (one of the VERBOSITY constants)
write()
Writes a message to the output.
public
write(mixed $messages[, mixed $newline = false ][, mixed $options = self::OUTPUT_NORMAL ]) : mixed
Parameters
- $messages : mixed
-
The message as an iterable of strings or a single string
- $newline : mixed = false
-
Whether to add a newline
- $options : mixed = self::OUTPUT_NORMAL
-
A bitmask of options (one of the OUTPUT or VERBOSITY constants), 0 is considered the same as self::OUTPUT_NORMAL | self::VERBOSITY_NORMAL
writeln()
Writes a message to the output and adds a newline at the end.
public
writeln(mixed $messages[, mixed $options = self::OUTPUT_NORMAL ]) : mixed
Parameters
- $messages : mixed
-
The message as an iterable of strings or a single string
- $options : mixed = self::OUTPUT_NORMAL
-
A bitmask of options (one of the OUTPUT or VERBOSITY constants), 0 is considered the same as self::OUTPUT_NORMAL | self::VERBOSITY_NORMAL
doWrite()
Writes a message to the output.
protected
doWrite(mixed $message, mixed $newline) : mixed
Parameters
- $message : mixed
-
A message to write to the output
- $newline : mixed
-
Whether to add a newline or not
hasColorSupport()
Returns true if the stream supports colorization.
protected
hasColorSupport() : bool
Colorization is disabled if not supported by the stream:
This is tricky on Windows, because Cygwin, Msys2 etc emulate pseudo terminals via named pipes, so we can only check the environment.
Reference: Composer\XdebugHandler\Process::supportsColor https://github.com/composer/xdebug-handler
Return values
bool —true if the stream supports colorization, false otherwise
getDisplayLength()
private
getDisplayLength(string $text) : string
Parameters
- $text : string
Return values
stringpopStreamContentUntilCurrentSection()
At initial stage, cursor is at the end of stream output. This method makes cursor crawl upwards until it hits current section. Then it erases content it crawled through. Optionally, it erases part of current section too.
private
popStreamContentUntilCurrentSection([int $numberOfLinesToClearFromCurrentSection = 0 ]) : string
Parameters
- $numberOfLinesToClearFromCurrentSection : int = 0