inanepain / cli
简化控制台工作的实用工具。
0.14.1
2023-05-03 17:08 UTC
Requires
- php: >=8.1
- inanepain/stdlib: >=0.4.4 || dev-master || dev-develop
README
版本: ()
一组函数和类,用于辅助命令行开发。
要求
- PHP >= 8.1
建议的 PHP 扩展
- mbstring - 用于计算字符串宽度。
函数列表
Inane\Cli\out($msg, ...)
Inane\Cli\out_padded($msg, ...)
Inane\Cli\err($msg, ...)
Inane\Cli\line($msg = '', ...)
Inane\Cli\input()
Inane\Cli\prompt($question, $default = false, $marker = ':')
Inane\Cli\choose($question, $choices = 'yn', $default = 'n')
Inane\Cli\menu($items, $default = false, $title = 'Choose an Item')
进度指示器
Inane\Cli\notify\Dots($msg, $dots = 3, $interval = 100)
Inane\Cli\notify\Spinner($msg, $interval = 100)
Inane\Cli\progress\Bar($msg, $total, $interval = 100)
表格显示
Inane\Cli\Table::__construct(array $headers = null, array $rows = null)
Inane\Cli\Table::setHeaders(array $headers)
Inane\Cli\Table::setRows(array $rows)
Inane\Cli\Table::setRenderer(cli\table\Renderer $renderer)
Inane\Cli\Table::addRow(array $row)
Inane\Cli\Table::sort($column)
Inane\Cli\Table::display()
显示函数将检测输出是否通过管道传递,如果是,则渲染一个制表符分隔的表格,而不是用于视觉显示的 ASCII 表格。
您还可以通过调用 Inane\Cli\Table::setRenderer()
并提供一个具体 Inane\Cli\table\Renderer
类的实例来显式设置使用的渲染器。
文本表格显示
替代表格显示。
$tt = new \Inane\Cli\TextTable(); $tt->addHeader(['Name', 'Description']); $tt->addRow(['TextTable', 'Alternative table display.']); echo $tt->render();
树形显示
Inane\Cli\Tree::__construct()
Inane\Cli\Tree::setData(array $data)
Inane\Cli\Tree::setRenderer(cli\tree\Renderer $renderer)
Inane\Cli\Tree::render()
Inane\Cli\Tree::display()
参数解析器
参数解析使用一个简单的框架,用于获取命令行参数列表,通常直接从 $_SERVER['argv']
获取,并解析输入与一组定义的规则。
查看 examples/arguments.php
以获取示例。
用法
请参阅 examples/
目录中的示例。
待办事项
- 扩展此 README
- 为其余代码添加文档块