Full-featured php command line application library.
Provide console parameter parsing, command run, color style output, user information interaction, and special format information display.
NOTICE: Current version v4.1+, require PHP 8.0+
Easy to use. Can be easily integrated into any existing project.
- Command line application,
controller
,command
parsing run on the command line - Support for setting aliases for commands. A command can have multiple aliases.
- Support command display/hide, enable/disable.
- Full-featured command line option parameter parsing (named parameters, short options
-s
, long options--long
). - The
input
,output
of the command line, management, use - Command method comments are automatically parsed as help information (by default,
@usage
@arguments
@options
@example
) - Support for outputting message texts of multiple color styles (
info
,comment
,success
,warning
,danger
,error
... ) - Commonly used special format information display (
section
,panel
,padding
,helpPanel
,table
,tree
,title
,list
,multiList
) - Rich dynamic information display (
pending/loading
,pointing
,spinner
,counterTxt
,dynamicText
,progressTxt
,progressBar
) - Common user information interaction support (
select
,multiSelect
,confirm
,ask/question
,askPassword/askHiddenInput
) - Support for predefined parameter definitions like
symfony/console
(giving parameter values by position, recommended when strict parameter restrictions are required) - The color output is
windows
linux
mac
compatible. Environments that do not support color will automatically remove the relevant CODE. - Quickly generate auto-completion scripts for the current application in the
bash/zsh
environment - NEW: Support start an interactive shell for run application
- Built-in Phar packaging tool class, which can be easily packaged into
phar
files. Easy to distribute and use- Run the command
php examples/app phar:pack
in the example, which will package this console library into anapp.phar
- Run the command
- Built-in file download tool class under command line with progress bar display
- Command line php code highlighting support (from
jakub-onderka/php-console-highlighter
and making some adjustments) - Simple Terminal screen, cursor control operation class
- Simple process operations using classes (fork, run, stop, wait ..., etc.)
All features, effects; can be run in the example code
phps/app
inexamples/
. Basically covers all the features and can be tested directly
- Requirement PHP 8.0+
composer require inhere/console
Please go to WIKI for detailed usage documentation
- Document Home
- Feature Overview
- Install
- Create Application
- Add Command
- Add Command Group
- Register Command
- Error/Exception Capture
- Input Object
- output object
- Formatted Output
- Progress Dynamic Output
- User Interaction
- Extension Tools
phpunit
// output coverage without xdebug
phpdbg -dauto_globals_jit=Off -qrr /usr/local/bin/phpunit --coverage-text
You can set debug level by ENV CONSOLE_DEBUG=level
, global option --debug level
# by ENV
$ CONSOLE_DEBUG=4 php examples/app
$ CONSOLE_DEBUG=5 php examples/app
# by global options
$ php examples/app --debug 4
Check out these projects, which use https://github.com/inhere/php-console :
- kite Kite is a tool for help development.
- More, please see github used by
- inhere/php-validate A compact and full-featured php verification library
- inhere/sroute Lightweight and fast HTTP request routing library