52ll.org
52ll.org

php cli 表格工具类

安装

composer require jc21/clitable

引用

use jc21\CliTable;

使用

你需要先创建一个数组,比如这样的

$data = [
    [
        'name' => '张三',
        'age' => 18,
        'sex' => 'human'
    ],
    [
        'name' => '小红',
        'age' => 22,
        'sex' => 'woman'
    ]
];

然后展示表格的代码

  • setChars() 方法不是必要的,不过我更喜欢这种类 mysql cli 风格的表格
  • addField() 的第一个参数是表格的表头,第二个参数是数组的键,第三个参数是作者提供的一些时间转换工具,第四个参数就是颜色了
  • injectData() 方法的参数就是我们上面的数据数组名称了
        $table = new CliTable;
        $table->setChars([
            'top' => '-',
            'top-mid' => '+',
            'top-left' => '+',
            'top-right' => '+',
            'bottom' => '-',
            'bottom-mid' => '+',
            'bottom-left' => '+',
            'bottom-right' => '+',
            'left' => '|',
            'left-mid' => '+',
            'mid' => '-',
            'mid-mid' => '+',
            'right' => '|',
            'right-mid' => '+',
            'middle' => '| ',
        ]);
        $table->setTableColor('blue');
        $table->setHeaderColor('cyan');
        $table->addField('Name', 'name', false, 'white');
        $table->addField('Age', 'age', false, 'white');
        $table->addField('Sex', 'sex', false, 'white');
        $table->injectData($data);
        $table->display();

注意事项

表格的颜色会传染到执行的 shell 窗口中,如果有需要,可以在 display() 方法后加上这样一行,就不会传染了

echo "\033[0m";

效果

https://52ll.org/wp-content/uploads/2023/03/example.png

参考文档

https://github.com/jc21/clitable

发表回复

textsms
account_circle
email

52ll.org

php cli 表格工具类
安装 composer require jc21/clitable 引用 use jc21\CliTable; 使用 你需要先创建一个数组,比如这样的 $data = [ [ 'name' => '张三', 'age…
扫描二维码继续阅读
2023-03-01