Cli Class
Interact with the command line by accepting input options, parameters and output text.
beep($num = 1)
The beep method fires a system beep on the computer running the command.
Static |
Yes |
Parameters |
Param |
Default |
Description |
$num |
1 |
Number of beeps. |
|
Returns |
void |
Example |
Cli::beep(25);
|
color($text, $foreground, $background = null, $format = null)
The color method changes the color of a piece of text.
Static |
Yes |
Parameters |
Param |
Default |
Description |
$text |
Required |
String to be colored. |
$foreground |
Required |
Foreground color of the string. |
$background |
null |
Background color of the string. |
$format |
null |
Other formatting to apply. Currently only the format 'underline' is support. |
|
Returns |
string |
Example |
if (true === false)
{
$message = Cli::color('Error: The universe is broken.', 'red');
}
else
{
$message = Cli::color('All is well with the world.', 'green');
}
Cli::write($message);
|
error($text)
The error method will write a line of text to the command line as an error (similar to write but uses STDERR instead of STDOUT).
Static |
Yes |
Parameters |
Param |
Default |
Description |
$text |
empty string |
Text to output to STDERR for the output. |
|
Returns |
void |
Example |
Cli::error('Failure: You hit the wrong key with your chubby hands, try using a stick to poke the keyboard.');
|
prompt($question = null, $options = array())
The prompt method prompts the user for input.
Static |
Yes |
Parameters |
Param |
Default |
Description |
$question |
null |
Ask the user a question and wait for input. |
$options |
array() |
An array of options for the user to select from. |
|
Returns |
string |
Example |
// Waits for any key press
Cli::prompt();
// Takes any input
$color = Cli::prompt('What is your favorite color?');
// Takes any input, but offers default
$color = Cli::prompt('What is your favorite color?', 'white');
// Will only accept the options in the array
$ready = Cli::prompt('Are you ready?', array('y','n'));
|
option($name, null)
The option accepts an option from the initial command.
Static |
Yes |
Parameters |
Param |
Default |
Description |
$name |
Required |
Name of the option. |
$default |
null |
A default value in case the option is not provided. |
|
Returns |
string |
Example |
$ php index.php user -v --v -name=John --name=John
|
wait($seconds = 0, $countdown = false)
The wait method will make the cli output wait for a given number of seconds and optionally show a countdown.
Static |
Yes |
Parameters |
Param |
Default |
Description |
$seconds |
0 |
Number of seconds to wait. |
$countdown |
false |
Show the countdown in the output. |
|
Returns |
void |
Example |
Cli::write('Loading...');
Cli::wait(5, true);
|
write($text = '', $foreground = null, $background = null)
The write method will write a line of text to the command line.
Static |
Yes |
Parameters |
Param |
Default |
Description |
$text |
empty string |
Text to output to the command line. |
$foreground |
null |
Foreground color of the string. |
$background |
null |
Background color of the string. |
|
Returns |
void |
Example |
Cli::write('Hello World!');
|
stdout($resource = null)
Changes or retrieves the current stdout stream. This is STDOUT by default.
Note the public property $nocolor
can be set to true to force all output
to plaintext.
Static |
Yes |
Parameters |
Param |
Default |
Description |
$resource |
null |
Any writable filehandle, or null to retrieve the current filehandle. |
|
Returns |
The previous value of the filehandle (or current value if you are not changing it) |
Example |
$buffer = fopen('php://temp', 'w+');
$stdout = Cli::stdout($buffer);
Cli::write("Hello World!");
Cli::error("Where's my text? :(");
Cli::stdout($stdout);
Cli::write("There it is!");
rewind($buffer);
file_put_contents('out.log', stream_get_contents($buffer));
// $ cat out.log
// Hello World!
|
stderr($resource = null)
Changes or retrieves the current stderr stream. This is STDERR by default.
Note the public property $nocolor
can be set to true to force all output
to plaintext.
Static |
Yes |
Parameters |
Param |
Default |
Description |
$resource |
null |
Any writable filehandle, or null to retrieve the current filehandle. |
|
Returns |
The previous value of the filehandle (or current value if you are not changing it) |
Example |
$errors = fopen('php://temp', 'w+');
$stderr = Cli::stderr($errors);
Cli::write("Hello World!");
Cli::error("Where's my text? :(");
Cli::stderr($stderr);
Cli::write("There it is!");
rewind($errors);
file_put_contents('out.log', stream_get_contents($errors));
// $ cat out.log
// Where's my text? :(
|