Skip to content

Latest commit

 

History

History
115 lines (83 loc) · 5.61 KB

README.en.md

File metadata and controls

115 lines (83 loc) · 5.61 KB

PHP Console

License Php Version Latest Stable Version Github Actions Status zh-CN readme

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+

Command line preview

app-command-list

Features

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 tools

  • 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 an app.phar
  • 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 in examples/. Basically covers all the features and can be tested directly

Installation

  • Requirement PHP 8.0+
composer require inhere/console

Document List

Please go to WIKI for detailed usage documentation

Project address

Unit test

phpunit
// output coverage without xdebug
phpdbg -dauto_globals_jit=Off -qrr /usr/local/bin/phpunit --coverage-text

Debuging

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

Project use

Check out these projects, which use https://github.com/inhere/php-console :

License

MIT

My projects