Download the PHP package decodelabs/terminus without Composer
On this page you can find all versions of the php package decodelabs/terminus. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download decodelabs/terminus
More information about decodelabs/terminus
Files in decodelabs/terminus
Informations about the package terminus
Terminus
Simple CLI interactions for PHP
Terminus provides everything you need to build highly interactive, beautiful CLI processes.
Get news and updates on the DecodeLabs blog.
Installation
Usage
Writing output
Write standard text to output:
Error output works the same way, with Error
in the method name:
Reading input
Read input from the user: Note, PHP by default buffers the input stream so input requires return to be pressed before it can be read.
If the connected terminal supports stty
(most Unix emulators), buffering can be turned off for instant input:
More on extended ANSI
and stty
support below.
Colors and styles
If the connected terminal can support ANSI
codes can be styled easily using a handy shortcut on the facade:
Support for ANSI
codes can be checked with:
The format of the style prefix is as follows:
\<modifiers>foreground?|background?|option1?|option2?...
Modifiers are applied as many times as they appear sequentially.
- Modifiers:
^
Clear line(s) above+
Add lines before.
Add lines after>
Add tabs before\<
Backspace previous output!
Considered an error!!
Not considered an error
- Foreground / background
black
(ANSI)red
(ANSI)green
(ANSI)yellow
(ANSI)blue
(ANSI)magenta
(ANSI)cyan
(ANSI)white
(ANSI)reset
(ANSI)brightBlack
(ANSI)brightRed
(ANSI)brightGreen
(ANSI)brightYellow
(ANSI)brightBlue
(ANSI)brightMagenta
(ANSI)brightCyan
(ANSI)brightWhite
(ANSI):0
to:255
8bit color code#000000
to#FFFFFF
24bit hex color
- Options
bold
dim
italic
underline
blink
strobe
reverse
private
strike
Note, some options are not or only partially supported on many terminal emulators.
Line control
Directly control lines and the cursor: All of the below methods allow passing a numeric value to control the number of times it should be applied.
stty
Some extended functionality is dependent on stty
being available (most Unix emulators).
stty
can be controlled with the following methods:
Widgets
Simplify common use cases with built in widgets:
Question
Password
Confirmation
Spinner
Progress bar
Use Terminus as a PSR Logger
Argument parsing
Quickly parse input arguments from the request into the session:
Session
Terminus will by default create a standard session communicating via PHP's STDIN
, STDOUT
and STDERR
streams, with arguments from $_SERVER['argv']
.
You can however customise the session by creating your own and setting it via the main Terminus
frontage.
See Deliverance Broker for more information about controlling IO streams.
Veneer
Terminus uses Veneer to provide a unified frontage under DecodeLabs\Terminus
.
You can access all the primary functionality via this static frontage without compromising testing and dependency injection.
Licensing
Terminus is licensed under the MIT License. See LICENSE for the full license text.
All versions of terminus with dependencies
decodelabs/archetype Version ^0.3
decodelabs/coercion Version ^0.2
decodelabs/deliverance Version ^0.2
decodelabs/exceptional Version ^0.4
decodelabs/glitch-support Version ^0.4
decodelabs/tightrope Version ^0.1.1
decodelabs/veneer Version ^0.11.6
psr/log Version ^3