CLI
in package
Class CLI.
Tags
Table of Contents
- $reset : string
- beep() : void
- Performs audible beep alarms.
- box() : void
- Writes a message box.
- clear() : void
- Clear the terminal screen.
- error() : void
- Writes a message to STDERR and optionally exit with a custom code.
- getInput() : string
- Get user input.
- getWidth() : int
- Get the screen width.
- isWindows() : bool
- Tells if it is running on a Windows OS.
- liveLine() : void
- Creates a "live line".
- newLine() : void
- Prints a new line in the output.
- prompt() : string
- Prompt a question.
- secret() : string
- Prompt a question with secret answer.
- strlen() : int
- Calculate the multibyte length of a text without style characters.
- style() : string
- Applies styles to a text.
- table() : void
- Creates a well formatted table.
- wrap() : string
- Displays text wrapped to a certain width.
- write() : void
- Write a text in the output.
Properties
$reset
protected
static string
$reset
= "\x1b[0m"
Methods
beep()
Performs audible beep alarms.
public
static beep([int $times = 1 ], int $usleep) : void
Parameters
- $times : int = 1
-
How many times should the beep be played
- $usleep : int
-
Interval in microseconds
Return values
void —box()
Writes a message box.
public
static box(array<int, string>|string $lines[, BackgroundColor|string $background = BackgroundColor::black ][, ForegroundColor|string $color = ForegroundColor::white ]) : void
Parameters
- $lines : array<int, string>|string
-
One line as string or multi-lines as array
- $background : BackgroundColor|string = BackgroundColor::black
-
Background color
- $color : ForegroundColor|string = ForegroundColor::white
-
Foreground color
Return values
void —clear()
Clear the terminal screen.
public
static clear() : void
Return values
void —error()
Writes a message to STDERR and optionally exit with a custom code.
public
static error(string $message[, int|null $exitCode = 1 ]) : void
Parameters
- $message : string
-
The error message
- $exitCode : int|null = 1
-
Set null to do not exit
Return values
void —getInput()
Get user input.
public
static getInput([string $prepend = '' ]) : string
NOTE: It is possible pass multiple lines ending each line with a backslash.
Parameters
- $prepend : string = ''
-
Text prepended in the input. Used internally to allow multiple lines
Return values
string —Returns the user input
getWidth()
Get the screen width.
public
static getWidth([int $default = 80 ]) : int
Parameters
- $default : int = 80
Return values
int —isWindows()
Tells if it is running on a Windows OS.
public
static isWindows() : bool
Return values
bool —liveLine()
Creates a "live line".
public
static liveLine(string $text[, bool $finalize = false ]) : void
Erase the current line, move the cursor to the beginning of the line and writes a text.
Parameters
- $text : string
-
The text to be written
- $finalize : bool = false
-
If true the "live line" activity ends, creating a new line after the text
Return values
void —newLine()
Prints a new line in the output.
public
static newLine([int $lines = 1 ]) : void
Parameters
- $lines : int = 1
-
Number of lines to be printed
Return values
void —prompt()
Prompt a question.
public
static prompt(string $question[, array<int, string>|string|null $options = null ]) : string
Parameters
- $question : string
-
The question to prompt
- $options : array<int, string>|string|null = null
-
Answer options. If an array is set, the default answer is the first value. If is a string, it will be the default.
Return values
string —The answer
secret()
Prompt a question with secret answer.
public
static secret(string $question) : string
Parameters
- $question : string
-
The question to prompt
Tags
Return values
string —The secret answer
strlen()
Calculate the multibyte length of a text without style characters.
public
static strlen(string $text) : int
Parameters
- $text : string
-
The text being checked for length
Return values
int —style()
Applies styles to a text.
public
static style(string $text[, ForegroundColor|string|null $color = null ][, BackgroundColor|string|null $background = null ][, array<string|int, \Framework\CLI\Styles\Format|string> $formats = [] ]) : string
Parameters
- $text : string
-
The text to be styled
- $color : ForegroundColor|string|null = null
-
Foreground color
- $background : BackgroundColor|string|null = null
-
Background color
- $formats : array<string|int, \Framework\CLI\Styles\Format|string> = []
-
The text formats
Tags
Return values
string —Returns the styled text
table()
Creates a well formatted table.
public
static table(array<string|int, array<string|int, \Stringable|scalar>> $tbody[, array<string|int, \Stringable|scalar> $thead = [] ]) : void
Parameters
- $tbody : array<string|int, array<string|int, \Stringable|scalar>>
-
Table body rows
- $thead : array<string|int, \Stringable|scalar> = []
-
Table head fields
Return values
void —wrap()
Displays text wrapped to a certain width.
public
static wrap(string $text[, int|null $width = null ]) : string
Parameters
- $text : string
- $width : int|null = null
Return values
string —Returns the wrapped text
write()
Write a text in the output.
public
static write(string $text[, ForegroundColor|string|null $color = null ][, BackgroundColor|string|null $background = null ][, int|null $width = null ]) : void
Optionally with styles and width wrapping.
Parameters
- $text : string
-
The text to be written
- $color : ForegroundColor|string|null = null
-
Foreground color
- $background : BackgroundColor|string|null = null
-
Background color
- $width : int|null = null
-
Width to wrap the text. Null to do not wrap.