简化控制台工作的实用工具。

0.14.1 2023-05-03 17:08 UTC

This package is auto-updated.

Last update: 2024-09-20 06:51:02 UTC


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
  • 为其余代码添加文档块