Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/inhere/php-console
🖥 PHP CLI application library, provide console options,arguments parse, console controller/command run, color style, user interactive, format information show and more. 功能全面的PHP命令行应用库。提供控制台选项、参数解析, 命令运行,颜色风格输出, 用户信息交互, 特殊格式信息显示
https://github.com/inhere/php-console
cli cli-flags command-line console console-application console-color interactive phar php-console
Last synced: 4 days ago
JSON representation
🖥 PHP CLI application library, provide console options,arguments parse, console controller/command run, color style, user interactive, format information show and more. 功能全面的PHP命令行应用库。提供控制台选项、参数解析, 命令运行,颜色风格输出, 用户信息交互, 特殊格式信息显示
- Host: GitHub
- URL: https://github.com/inhere/php-console
- Owner: inhere
- License: mit
- Created: 2017-03-06T04:57:30.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-02-07T09:59:13.000Z (10 months ago)
- Last Synced: 2024-11-21T22:34:57.837Z (21 days ago)
- Topics: cli, cli-flags, command-line, console, console-application, console-color, interactive, phar, php-console
- Language: PHP
- Homepage: https://github.com/inhere/php-console/wiki
- Size: 10.4 MB
- Stars: 345
- Watchers: 17
- Forks: 48
- Open Issues: 2
-
Metadata Files:
- Readme: README.en.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- php-awesome - console tool - PHP 命令行应用库 (类库 / CLI)
README
# PHP Console
[![License](https://img.shields.io/packagist/l/inhere/console.svg?style=flat-square)](LICENSE)
[![Php Version](https://img.shields.io/badge/php-%3E=8.0-brightgreen.svg?maxAge=2592000)](https://packagist.org/packages/inhere/console)
[![Latest Stable Version](http://img.shields.io/packagist/v/inhere/console.svg)](https://packagist.org/packages/inhere/console)
[![Github Actions Status](https://github.com/inhere/php-console/workflows/Unit-tests/badge.svg)](https://github.com/inhere/php-console/actions)
[![zh-CN readme](https://img.shields.io/badge/Readme-中文-brightgreen.svg?maxAge=2592000)](README.md)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](https://raw.githubusercontent.com/inhere/php-console/3.x/docs/screenshots/app-command-list.png)
## 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+
```bash
composer require inhere/console
```## Document List
> Please go to WIKI for detailed usage documentation
- **[Document Home](https://github.com/inhere/php-console/wiki/home)**
- **[Feature Overview](https://github.com/inhere/php-console/wiki/overview)**
- **[Install](https://github.com/inhere/php-console/wiki/install)**
- **[Create Application](https://github.com/inhere/php-console/wiki/quick-start)**
- **[Add Command](https://github.com/inhere/php-console/wiki/add-command)**
- **[Add Command Group](https://github.com/inhere/php-console/wiki/add-group)**
- **[Register Command](https://github.com/inhere/php-console/wiki/register-command)**
- **[Error/Exception Capture](https://github.com/inhere/php-console/wiki/error-handle)**
- **[Input Object](https://github.com/inhere/php-console/wiki/input-instance)**
- **[output object](https://github.com/inhere/php-console/wiki/output-instance)**
- **[Formatted Output](https://github.com/inhere/php-console/wiki/format-output)**
- **[Progress Dynamic Output](https://github.com/inhere/php-console/wiki/process-output)**
- **[User Interaction](https://github.com/inhere/php-console/wiki/user-interactive)**
- **[Extension Tools](https://github.com/inhere/php-console/wiki/extra-tools)**## Project address
- **github** https://github.com/inhere/php-console.git
- **gitee** https://gitee.com/inhere/php-console.git## Unit test
```bash
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`
```bash
# 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 :
- [kite](https://github.com/inhere/kite) Kite is a tool for help development.
- More, please see [github used by](https://github.com/inhere/php-console/network/dependents?package_id=UGFja2FnZS01NDI5NzMxOTI%3D)## License
[MIT](LICENSE)
## My projects
- [inhere/php-validate](https://github.com/inhere/php-validate) A compact and full-featured php verification library
- [inhere/sroute](https://github.com/inhere/php-srouter) Lightweight and fast HTTP request routing library