Download the PHP package rayanlevert/command-line-interface without Composer
On this page you can find all versions of the php package rayanlevert/command-line-interface. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rayanlevert/command-line-interface
More information about rayanlevert/command-line-interface
Files in rayanlevert/command-line-interface
Package command-line-interface
Short Description Dependency-free command line interface (CLI) handling arguments and easily personalizing output in the PHP userland
License BSD-3-Clause
Informations about the package command-line-interface
Dependency-free command line interface (CLI) handling arguments and easily personalizing output in the PHP userland
Version >= 3.0 supports only php8.4 with all brand new features, for >= php8.1, version 2.0 is still supported.
RayanLevert\Cli\Arguments\Argument defines what is an Argument
An argument has a name and different options and can only be of type
integer
,double
oustring
(if the optionnoValue
is used, it will bebool
)
A RayanLevert\Cli\Arguments\Exception
can be thrown if options are not compliant (see __construct()
)
RayanLevert\Cli\Arguments is a collection of Argument capable of parsing values from argv
(array of strings)
Required arguments must be declared first, before not required ones
Recovery of parsed values is done via the method parse(string ...$arguments): void
To parse arguments from the actual CLI, use
parse(...$argv)
(with declaringglobal $argv;
if you are not in the global scope)
Associates each parsed value to its Argument in the collection
The parsed value of an argument is recoverable by ::get(string $argumentName)
By default, NULL
is returned; integer
, float
or string
can be returned if the argument has been parsed and option castTo
has been set
- If castTo is
integer
orfloat
, the value must be a numeric string (asserts withis_numeric()
) - Si castTo is
string
(by default), the value will be the one parsed
Implementation
Multiple methods are available
- Adds an argument -
set(Argument $oArgument): void
- Removes one -
remove(string $argumentName): void
- Returns the number of arguments
count(): int
- Prints a clean display about the informations of arguments
printArguments(): void
Personalizes the command line interface by changing the color and formatting displayed text
RayanLevert\Cli\Style is a class that only has static methods
3 enumerations are available to stylize the output:
RayanLevert\Cli\Style\Background
: Background colorsRayanLevert\Cli\Style\Foreground
: Text colorsRayanLevert\Cli\Style\Attributes
: Text attributes
2 main methods are used to display formatted text
And one to return the formatted string instead of printing it
Other useful methods are available: