sitnikovik / clipher
CLI工具,用颜色、加粗、加载条等功能美化您的脚本
v1.0.0
2024-08-24 07:35 UTC
Requires
- php: >=7.1
- ext-readline: *
This package is auto-updated.
Last update: 2024-09-24 07:52:40 UTC
README
使用颜色、加粗、加载条等功能美化您的CLI脚本
开始使用
只需创建一个Sitnikovik\Console\Console
对象,然后继续即可
$console = new \Sitnikovik\Console\Console();
输入
确认
\Sitnikovik\Console\Console::confirm(string $question, bool $yesOnDefault = false): void
使用y/n
让用户批准或拒绝某些过程
提示
\Sitnikovik\Console\Console::prompt(string $question): string
询问用户输入继续程序所需的答案
输出
打印行
\Sitnikovik\Console\Console::println(string $text): void
打印带换行符的文本控制台输出
分隔
\Sitnikovik\Console\Console::separate(int $width = 0): void
打印带指定宽度的单独条,如果宽度为0
则拉伸
退出
\Sitnikovik\Console\Console::quit(string $message = '')
以0
代码退出程序,如果消息文本不为空则打印消息
恐慌
\Sitnikovik\Console\Console::panic(string $message = '', int $code = 1)
以提供的代码退出程序,表示程序失败,如果消息文本不为空则以红色颜色打印消息
颜色
如果您想切换颜色样式,您必须提供Sitnikovik\Console\Style\StyleInterface
类以对文本和背景布局进行着色。
// set colors $console->setTextStyle(new Sitnikovik\Console\Style\Text\Bold()); $console->setBackgroundStyle(new Sitnikovik\Console\Style\Background()); // or via constructor $console = new Console(new Sitnikovik\Console\Style\Text\Regular(), new Sitnikovik\Console\Style\Background());
自定义样式颜色
无论如何,您都可以创建扩展自Sitnikovik\Console\Style\AbstractStyle
或实现了Sitnikovik\Console\Style\StyleInterface
的类的自定义类,并修改您喜欢的颜色。
着色文本
Sitnikovik\Console\Style\AbstractStyle
和Sitnikovik\Console\Style\StyleInterface
实现了至少8种
着色文本的方法。类调用接口方法
- black()
- red()
- green()
- yellow()
- blue()
- purple()
- cyan()
- white()
$text = $console->red('some text'); // colorize text // or $text = $console->bgRed('some text'); // set background to text
它们返回着色到调用颜色的文本。
进度条
如果您需要可视化某些进程的进度,可以使用Sitnikovik\Console\Progressbar\Progressbar
// Create the bar like that $maxValue = 100; $progressbar = $console::createProgressbar($maxValue); // or $progressbar = Sitnikovik\Console\Progressbar\Progressbar($maxValue); // Advancing for ($current = 0; $current < $maxValue; $current++) { $progressbar->advance(); // increment with 1 point of the max value } // Or advance it manually $progressbar->advance(40); // or another value