A wrapper around the various IO operations shell tasks need to do.
Packages up the stdout, stderr, and stdin streams providing a simple consistent interface for shells to use. This class also makes mocking streams easy to do in unit tests.
integer
1
integer
0
integer
2
$_err
protected $_helpers
protected $_in
protected $_lastWritten
protected integer
The number of bytes last written to the output stream used when overwriting the previous message.
$_level
protected integer
$_out
protected Outputs a single or multiple error messages to stderr. If no parameters are passed outputs just a newline.
Outputs a single or multiple messages to stdout. If no parameters are passed outputs just a newline.
__construct( Cake\Console\ConsoleOutput $out null , Cake\Console\ConsoleOutput $err null , Cake\Console\ConsoleInput $in null , Cake\Console\HelperRegistry $helpers null )
Constructor
Cake\Console\ConsoleOutput
$out
optional null Cake\Console\ConsoleOutput
$err
optional null Cake\Console\ConsoleInput
$in
optional null Cake\Console\HelperRegistry
$helpers
optional null _getInput( string $prompt , string|null $options , string|null $default )
Prompts the user for input, and returns it.
$prompt
$options
$default
ask( string $prompt , string|null $default null )
Prompts the user for input, and returns it.
$prompt
$default
optional null askChoice( string $prompt , string|array $options , string|null $default null )
Prompts the user for input based on a list of options, and returns it.
$prompt
$options
$default
optional null err( string|array $message '' , integer $newlines 1 )
Outputs a single or multiple error messages to stderr. If no parameters are passed outputs just a newline.
$message
optional '' $newlines
optional 1 helper( string $name , array $settings [] )
Render a Console Helper
Create and render the output for a helper object. If the helper object has not already been loaded, it will be loaded and constructed.
$name
$settings
optional [] Cake\Console\Helper
hr( integer $newlines 0 , integer $width 79 )
Outputs a series of minus characters to the standard output, acts as a visual separator.
$newlines
optional 0 $width
optional 79 level( null|integer $level null )
Get/set the current output level.
$level
optional null nl( integer $multiplier 1 )
Returns a single or multiple linefeeds sequences.
$multiplier
optional 1 out( string|array $message '' , integer $newlines 1 , integer $level ConsoleIo::NORMAL )
Outputs a single or multiple messages to stdout. If no parameters are passed outputs just a newline.
There are 3 built-in output level. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. The verbose and quiet output levels, map to the verbose
and quiet
output switches present in most shells. Using Shell::QUIET for a message means it will always display. While using Shell::VERBOSE means it will only display when verbose output is toggled.
$message
optional '' $newlines
optional 1 $level
optional ConsoleIo::NORMAL outputAs( integer $mode )
Change the output mode of the stdout stream
$mode
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.
$message
$newlines
optional 1 $size
optional null The number of bytes to overwrite. Defaults to the length of the last message output.
quiet( string|array $message , integer $newlines 1 )
Output at all levels.
$message
$newlines
optional 1 setLoggers( integer|boolean $enable )
Connects or disconnects the loggers to the console output.
Used to enable or disable logging stream output to stdout and stderr If you don't wish all log output in stdout or stderr through Cake's Log class, call this function with $enable=false
.
$enable
Use a boolean to enable/toggle all logging. Use one of the verbosity constants (self::VERBOSE, self::QUIET, self::NORMAL) to control logging levels. VERBOSE enables debug logs, NORMAL does not include debug logs, QUIET disables notice, info and debug logs.
styles( string|null $style null , array|boolean|null $definition null )
Add a new output style or get defined styles.
$style
optional null $definition
optional null The array definition of the style to change or create a style or false to remove a style.
If you are getting styles, the style or null will be returned. If you are creating/modifying styles true will be returned.
verbose( string|array $message , integer $newlines 1 )
Output at the verbose level.
$message
$newlines
optional 1 protected integer
The number of bytes last written to the output stream used when overwriting the previous message.
© 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/3.4/class-Cake.Console.ConsoleIo.html