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.
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Location: Cake/Console/ConsoleOutput.php
Properties summary
-
$_backgroundColors
protected staticarray
background colors used in colored output. -
$_foregroundColors
protected staticarray
text colors used in colored output. -
$_options
protected staticstring
formatting options for colored output -
$_output
protectedresource
File handle for output. -
$_outputAs
protectedinteger
The current output type. Manipulated with ConsoleOutput::outputAs(); -
$_styles
protected staticarray
Styles that are available as tags in console output. You can modify these styles with ConsoleOutput::styles()
Method Summary
-
__construct() public
Construct the output object. -
__destruct() public
Clean up and close handles -
_replaceTags() protected
Replace tags with color codes. -
_write() protected
Writes a message to the output stream. -
outputAs() public
Get/Set the output type to use. The output type how formatting tags are treated. -
styleText() public
Apply styling to text. -
styles() public
Get 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() public ¶
__construct( string $stream = 'php://stdout' )
Construct the output object.
Checks for a pretty console environment. Ansicon allows pretty consoles on windows, and is supported.
Parameters
- string $stream optional 'php://stdout'
- The identifier of the stream to write output to.
_replaceTags() protected ¶
_replaceTags( array $matches )
Replace tags with color codes.
Parameters
- array $matches
- $matches.
Returns
_write() protected ¶
_write( string $message )
Writes a message to the output stream.
Parameters
- string $message
- Message to write.
Returns
success
outputAs() 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
Either null or the value if getting.
styleText() public ¶
styleText( string $text )
Apply styling to text.
Parameters
- string $text
- Text with styling tags.
Returns
String with color codes added.
styles() 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
If you are getting styles, the style or null will be returned. If you are creating/modifying styles true will be returned.
write() 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 a an array of strings to output
- integer $newlines optional 1
- Number of newlines to append
Returns
Returns the number of bytes returned from writing to stdout.
Properties detail
$_backgroundColors ¶
background colors used in colored output.
array( 'black' => 40, 'red' => 41, 'green' => 42, 'yellow' => 43, 'blue' => 44, 'magenta' => 45, 'cyan' => 46, 'white' => 47 )
$_foregroundColors ¶
text colors used in colored output.
array( 'black' => 30, 'red' => 31, 'green' => 32, 'yellow' => 33, 'blue' => 34, 'magenta' => 35, 'cyan' => 36, 'white' => 37 )
$_options ¶
formatting options for colored output
array( 'bold' => 1, 'underline' => 4, 'blink' => 5, 'reverse' => 7, )
$_outputAs ¶
The current output type. Manipulated with ConsoleOutput::outputAs();
self::COLOR
$_styles ¶
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') )