Class ConsoleOutput
Object wrapper for outputting information from a shell application. Can be connected to any stream resource that can be used with fopen()
Can generate colorized output on consoles that support it. There are a few built in styles
-
error
Error messages. -
warning
Warning messages. -
info
Informational messages. -
comment
Additional text. -
question
Magenta text used for user prompts
By defining styles with addStyle() you can create custom console styles.
Using styles in output
You can format console output using tags with the name of the style to apply. From inside a shell object
$this->out('<warning>Overwrite:</warning> foo.php was overwritten.');
This would create orange 'Overwrite:' text, while the rest of the text would remain the normal color. See ConsoleOutput::styles() to learn more about defining your own styles. Nested styles are not supported at this time.
Direct Subclasses
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Console/ConsoleOutput.php
Constants summary
-
integer
2
-
string
PHP_EOL
-
integer
1
-
integer
0
Properties summary
- background colors used in colored output.
array
- text colors used in colored output.
array
-
$_lastWritten
protectedinteger
The number of bytes last written to the output stream used when overwriting the previous message.
- formatting options for colored output
string
-
$_output
protectedFile handle for output.resource
-
$_outputAs
protectedThe current output type. Manipulated with ConsoleOutput::outputAs();integer
-
array
Styles that are available as tags in console output. You can modify these styles with ConsoleOutput::styles()
Method Summary
- __construct() publicConstruct the output object.
- __destruct() publicClean up and close handles
- _replaceTags() protectedReplace tags with color codes.
- _write() protectedWrites a message to the output stream.
- outputAs() publicGet/Set the output type to use. The output type how formatting tags are treated.
- overwrite() publicOverwrite some already output text.
- styleText() publicApply styling to text.
- styles() publicGet the current styles offered, or append new ones in.
- write() public
Outputs a single or multiple messages to stdout. If no parameters are passed, outputs just a newline.
Method Detail
__construct()source public
__construct( string $stream 'php://stdout' )
Construct the output object.
Checks for a pretty console environment. Ansicon and ConEmu allows pretty consoles on Windows, and is supported.
Parameters
- string
$stream
optional 'php://stdout' - The identifier of the stream to write output to.
_replaceTags()source protected
_replaceTags( array $matches )
Replace tags with color codes.
Parameters
- array
$matches
- An array of matches to replace.
Returns
string_write()source protected
_write( string $message )
Writes a message to the output stream.
Parameters
- string
$message
- Message to write.
Returns
booleansuccess
outputAs()source public
outputAs( integer $type null )
Get/Set the output type to use. The output type how formatting tags are treated.
Parameters
- integer
$type
optional null - The output type to use. Should be one of the class constants.
Returns
mixedEither null or the value if getting.
overwrite()source public
overwrite( array|string $message , integer $newlines 1 , integer|null $size null )
Overwrite some already output text.
Useful for building progress bars, or when you want to replace text already output to the screen with new text.
Warning You cannot overwrite text that contains newlines.
Parameters
- array|string
$message
- The message to output.
- integer
$newlines
optional 1 - Number of newlines to append.
- integer|null
$size
optional null The number of bytes to overwrite. Defaults to the length of the last message output.
styleText()source public
styleText( string $text )
Apply styling to text.
Parameters
- string
$text
- Text with styling tags.
Returns
stringString with color codes added.
styles()source public
styles( string $style null , array $definition null )
Get the current styles offered, or append new ones in.
Get a style definition
$this->output->styles('error');
Get all the style definitions
$this->output->styles();
Create or modify an existing style
$this->output->styles('annoy', array('text' => 'purple', 'background' => 'yellow', 'blink' => true));
Remove a style
$this->output->styles('annoy', false);
Parameters
- string
$style
optional null - The style to get or create.
- array
$definition
optional null The array definition of the style to change or create a style or false to remove a style.
Returns
mixedIf you are getting styles, the style or null will be returned. If you are creating/modifying styles true will be returned.
write()source public
write( string|array $message , integer $newlines 1 )
Outputs a single or multiple messages to stdout. If no parameters are passed, outputs just a newline.
Parameters
- string|array
$message
- A string or an array of strings to output
- integer
$newlines
optional 1 - Number of newlines to append
Returns
integerReturns the number of bytes returned from writing to stdout.
Properties detail
$_backgroundColorssource
protected static array
background colors used in colored output.
array( 'black' => 40, 'red' => 41, 'green' => 42, 'yellow' => 43, 'blue' => 44, 'magenta' => 45, 'cyan' => 46, 'white' => 47 )
$_foregroundColorssource
protected static array
text colors used in colored output.
array( 'black' => 30, 'red' => 31, 'green' => 32, 'yellow' => 33, 'blue' => 34, 'magenta' => 35, 'cyan' => 36, 'white' => 37 )
$_lastWrittensource
protected integer
The number of bytes last written to the output stream used when overwriting the previous message.
$_optionssource
protected static string
formatting options for colored output
array( 'bold' => 1, 'underline' => 4, 'blink' => 5, 'reverse' => 7, )
$_outputAssource
protected integer
The current output type. Manipulated with ConsoleOutput::outputAs();
self::COLOR
$_stylessource
protected static array
Styles that are available as tags in console output. You can modify these styles with ConsoleOutput::styles()
array( 'emergency' => array('text' => 'red', 'underline' => true), 'alert' => array('text' => 'red', 'underline' => true), 'critical' => array('text' => 'red', 'underline' => true), 'error' => array('text' => 'red', 'underline' => true), 'warning' => array('text' => 'yellow'), 'info' => array('text' => 'cyan'), 'debug' => array('text' => 'yellow'), 'success' => array('text' => 'green'), 'comment' => array('text' => 'blue'), 'question' => array('text' => 'magenta'), 'notice' => array('text' => 'cyan') )
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.10/class-ConsoleOutput.html