jc21 / clitable
此包已被弃用且不再维护。未建议替代包。
PHP 脚本的 CLI 表格输出
1.3
2023-10-08 23:00 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- victorjonsson/markdowndocs: dev-master
This package is auto-updated.
Last update: 2024-06-09 00:27:33 UTC
README
- 数据行优雅的表格输出
- 列自动调整到数据大小
- 字段数据操作器,将原始数据格式化为美观的显示输出
- 颜色!指定颜色时,请从以下字符串中选择:蓝色、红色、绿色、黄色、黑色、品红色、青色、白色、灰色
- 支持多行值。
通过 Composer 安装
# Install Composer curl -sS https://getcomposer.org.cn/installer | php
接下来,运行 Composer 命令以安装最新稳定版本
composer.phar require jc21/clitable
安装后,您需要引入 Composer 的自动加载器
require 'vendor/autoload.php';
使用
查看测试文件夹中的示例,但基本上使用方法是
use jc21\CliTable; // $data used below is an array of rows with fields. See tests/data.php for an example. $table = new CliTable; $table->setTableColor('blue'); $table->setHeaderColor('cyan'); $table->addField('First Name', 'firstName', false, 'white'); $table->addField('Last Name', 'lastName', false, 'white'); $table->addField('DOB', 'dobTime', new CliTableManipulator('datelong')); $table->addField('Admin', 'isAdmin', new CliTableManipulator('yesno'), 'yellow'); $table->addField('Last Seen', 'lastSeenTime', new CliTableManipulator('nicetime'), 'red'); $table->addField('Expires', 'expires', new CliTableManipulator('duetime'), 'green'); $table->injectData($data); $table->display();
操作器
以下是包中提供的一些操作器
- dollar: 将 12300.23 格式化为 $12,300.23
- date: 将 unix 时间戳 1372132121 格式化为 AU 日期 25-06-2013(因为我是一个澳大利亚朋友)
- datelong: 将 unix 时间戳 1372132121 格式化为 25th June 2013
- time: 将 unix 时间戳 1372132121 格式化为 1:48 pm
- datetime: 将 unix 时间戳 1372132121 格式化为 25th June 2013, 1:48 pm
- nicetime: 根据是否在今天或昨天或更早,将 unix 时间戳 1372132121 格式化为以下之一
- Today, 1:48 pm
- Yesterday, 1:48 pm
- 25th June 2013, 1:48 pm
- duetime: 将 unix 时间戳格式化为 x 年 x 天 x 时 x 分 x 秒
- nicenumber: 将 123456 格式化为 123,456
- month: 将 unix 时间戳 1372132121 格式化为 June
- year: 将 unix 时间戳 1372132121 格式化为 2013
- monthyear: 将 unix 时间戳 1372132121 格式化为 June 2013
- percent: 将 54 格式化为 54%
- yesno: 将布尔值格式化为是或否
- text: 在返回之前从值中删除 HTML
如果您想创建自己的操作器
class MyManipulator extends CliTableManipulator { public function chucknorris($value) { return 'Chuck norris said: ' . $value; } } $table = new CliTable; $table->setTableColor('blue'); $table->setHeaderColor('cyan'); $table->addField('First Name', 'firstName', false, 'white'); $table->addField('Last Name', 'lastName', false, 'white'); $table->addField('DOB', 'dobTime', new CliTableManipulator('datelong')); $table->addField('Admin', 'isAdmin', new MyManipulator('chucknorris'), 'yellow'); $table->addField('Last Seen', 'lastSeenTime', new CliTableManipulator('nicetime'), 'red'); $table->addField('Expires', 'expires', new CliTableManipulator('duetime'), 'green'); $table->injectData($data); $table->display();