Stars: 341
Forks: 48
Pull Requests: 14
Issues: 18
Watchers: 15
Last Updated: 2023-02-03 11:02:59
🖥 PHP CLI application library, provide console options,arguments parse, console controller/command run, color style, user interactive, format information show and more. 功能全面的PHP命令行应用库。提供控制台选项、参数解析, 命令运行,颜色风格输出, 用户信息交互, 特殊格式信息显示
License: MIT License
Languages: PHP, Batchfile, Shell, Smarty
简洁、功能全面的php命令行应用库。提供控制台参数解析, 命令运行,颜色风格输出, 用户信息交互, 特殊格式信息显示。
NOTICE: Current version v4.1+, require PHP 8.0+
使用方便简单。可以方便的整合到任何已有项目中。
controller
, command
解析运行input
, 输出 output
, Flag解析管理、使用-s
,长选项 --long
bool,int,string,array
),解析后会自动格式化输入值@usage
@arguments
@options
@example
等信息info
, comment
, success
, warning
, danger
, error
... )section
, panel
, padding
, helpPanel
, table
, tree
, title
, list
, multiList
)pending/loading
, pointing
, spinner
, counterTxt
, dynamicText
, progressTxt
, progressBar
)select
, multiSelect
, confirm
, ask/question
, askPassword/askHiddenInput
)symfony/console
的预定义参数定义(按位置赋予参数值, 需要严格限制参数选项时推荐使用)windows
linux
mac
兼容的,不支持颜色的环境会自动去除相关CODEbash/zsh
环境下的自动补全脚本phar
文件。方便分发和使用
php examples/app phar:pack
,会将此console库打包成一个app.phar
jakub-onderka/php-console-highlighter
并做了一些调整)所有的特性,功能:
都可以运行 examples/
中的示例代码 php examples/app
展示出来的。基本上涵盖了所有功能,可以直接测试运行
composer require inhere/console
// file: examples/app
use Inhere\Console\IO\Input;
use Inhere\Console\IO\Output;
$meta = [
'name' => 'My Console App',
'version' => '1.0.2',
];
// 通常无需传入 $input $output ,会自动创建
// $app = new \Inhere\Console\Application($meta, $input, $output);
$app = new \Inhere\Console\Application($meta);
// 注册命令
$app->command(DemoCommand::class);
// 注册命令组
$app->addGroup(MyController::class);
// ... ...
// run
$app->run();
运行示例应用: php examples/app
更多使用文档请点击跳转到WIKI查看
phpunit
// 没有xdebug时输出覆盖率
phpdbg -dauto_globals_jit=Off -qrr /usr/local/bin/phpunit --coverage-text
你可以通过环境变量 CONSOLE_DEBUG=level
, 全局选项 --debug level
设置debug级别
# by ENV
$ CONSOLE_DEBUG=4 php examples/app
$ CONSOLE_DEBUG=5 php examples/app
# by global options
$ php examples/app --debug 4
看看这些使用了 https://github.com/inhere/php-console 的项目: