ConsoleSectionOutput
extends StreamOutput
in package
StreamOutput writes the output to a given stream.
Tags
Table of Contents
Properties
- $content : array<string|int, mixed>
- $formatter : OutputFormatterInterface
- $lines : int
- $maxHeight : int
- $sections : array<string|int, mixed>
- $stream : resource
- $terminal : Terminal
- $verbosity : int
Methods
- __construct() : mixed
- clear() : void
- 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() : self::VERBOSITY_*
- Gets the current verbosity of the output.
- getVisibleContent() : string
- 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() : void
- Overwrites the previous output with a new message.
- setDecorated() : void
- Sets the decorated flag.
- setFormatter() : void
- setMaxHeight() : void
- Defines a maximum number of lines for this section.
- setVerbosity() : void
- Sets the verbosity of the output.
- write() : void
- Writes a message to the output.
- writeln() : void
- Writes a message to the output and adds a newline at the end.
- doWrite() : void
- Writes a message to the output.
- hasColorSupport() : bool
- Returns true if the stream supports colorization.
- getDisplayLength() : int
- 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
array<string|int, mixed>
$content
= []
$formatter
private
OutputFormatterInterface
$formatter
$lines
private
int
$lines
= 0
$maxHeight
private
int
$maxHeight
= 0
$sections
private
array<string|int, mixed>
$sections
$stream
private
resource
$stream
$terminal
private
Terminal
$terminal
$verbosity
private
int
$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 ]) : void
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
resourcegetVerbosity()
Gets the current verbosity of the output.
public
getVerbosity() : self::VERBOSITY_*
Return values
self::VERBOSITY_*getVisibleContent()
public
getVisibleContent() : string
Return values
stringisDebug()
Returns whether verbosity is debug (-vvv).
public
isDebug() : bool
Return values
boolisDecorated()
Gets the decorated flag.
public
isDecorated() : bool
Return values
boolisQuiet()
Returns whether verbosity is quiet (-q).
public
isQuiet() : bool
Return values
boolisVerbose()
Returns whether verbosity is verbose (-v).
public
isVerbose() : bool
Return values
boolisVeryVerbose()
Returns whether verbosity is very verbose (-vv).
public
isVeryVerbose() : bool
Return values
booloverwrite()
Overwrites the previous output with a new message.
public
overwrite(string|iterable<string|int, mixed> $message) : void
Parameters
- $message : string|iterable<string|int, mixed>
setDecorated()
Sets the decorated flag.
public
setDecorated(bool $decorated) : void
Parameters
- $decorated : bool
setFormatter()
public
setFormatter(OutputFormatterInterface $formatter) : void
Parameters
- $formatter : OutputFormatterInterface
setMaxHeight()
Defines a maximum number of lines for this section.
public
setMaxHeight(int $maxHeight) : void
When more lines are added, the section will automatically scroll to the end (i.e. remove the first lines to comply with the max height).
Parameters
- $maxHeight : int
setVerbosity()
Sets the verbosity of the output.
public
setVerbosity(int $level) : void
Parameters
- $level : int
write()
Writes a message to the output.
public
write(string|iterable<string|int, mixed> $messages[, bool $newline = false ][, int $options = self::OUTPUT_NORMAL ]) : void
Parameters
- $messages : string|iterable<string|int, mixed>
- $newline : bool = false
-
Whether to add a newline
- $options : int = 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(string|iterable<string|int, mixed> $messages[, int $options = self::OUTPUT_NORMAL ]) : void
Parameters
- $messages : string|iterable<string|int, mixed>
- $options : int = 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(string $message, bool $newline) : void
Parameters
- $message : string
- $newline : bool
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) : int
Parameters
- $text : string
Return values
intpopStreamContentUntilCurrentSection()
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