PHP Console
简洁、功能全面的php命令行应用库。提供控制台参数解析, 命令运行,颜色风格输出, 用户信息交互, 特殊格式信息显示。
NOTICE: Current version v4.1+, require PHP 8.0+
命令行预览
功能概览
命令行应用, 命令行的使用方便简单。可以方便的整合到任何已有项目中。
controller
, command
解析运行
支持给命令设置别名,一个命令可以有多个别名。
支持命令的显示/隐藏,启用/禁用
命令行下的 输入input
, 输出 output
, Flag解析管理、使用
功能全面的命令行的选项、参数解析
命名参数,数组参数
选项绑定 短选项 -s
,长选项 --long
NEW v4 支持定义数据类型(bool,int,string,array
),解析后会自动格式化输入值
命令方法注释自动解析为帮助信息
默认提取 @usage
@arguments
@options
@example
等信息
NEW v4 版本支持从注释定义选项参数的数据类型
支持注册事件监听,错误处理等
更多特性
支持输出多种颜色风格的消息文本(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
兼容的,不支持颜色的环境会自动去除相关CODE
快速的为当前应用生成 bash/zsh
环境下的自动补全脚本
内置工具
内置Phar打包工具类,可以方便的将应用打包成phar
文件。方便分发和使用
运行示例中的命令 php examples/app phar:pack
,会将此console库打包成一个app.phar
内置了命令行下的文件下载工具类,带有进度条显示
命令行的php代码高亮支持(来自于jakub-onderka/php-console-highlighter
并做了一些调整)
简单的Terminal屏幕、光标控制操作类
简单的进程操作使用类(fork,run,stop,wait ... 等)
所有的特性,功能:
都可以运行 examples/
中的示例代码 php examples/app
展示出来的。基本上涵盖了所有功能,可以直接测试运行
项目地址
github https://github.com/inhere/php-console.git gitee https://gitee.com/inhere/php-console.git快速安装
Requirement PHP 8.0+composer require inhere/console
快速开始
// file: examples/app use InhereConsoleIOInput; use InhereConsoleIOOutput; $meta = [ 'name' => 'My Console App', 'version' => '1.0.2', ]; // 通常无需传入 $input $output ,会自动创建 // $app = new InhereConsoleApplication($meta, $input, $output); $app = new InhereConsoleApplication($meta); // 注册命令 $app->command(DemoCommand::class); // 注册命令组 $app->addGroup(MyController::class); // ... ... // run $app->run();
运行示例应用: php examples/app
文档列表
从v3升级到v4
文档首页 功能概览 安装 创建应用 创建命令/组 注册命令 错误/异常捕获更多使用文档请点击跳转到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
使用console的项目
看看这些使用了 https://github.com/inhere/php-console 的项目:
kite PHP编写的,方便本地开发和使用的个人CLI工具应用 More, please see github used by我的其他项目
inhere/php-validate 一个简洁小巧且功能完善的php验证库 inhere/sroute 轻量且快速的HTTP请求路由库依赖包
toolkit/cli-utils toolkit/pflag toolkit/stdlib toolkit/sys-utilsLicense
MIT
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。