我为自己编写了一个脚本,以将该站点部署到生产环境。 您为什么需要显示正在发生的事情。 为了更加清晰,我决定使用彩色显示。 但是,我找不到合适的东西。 库最多显示彩色文本,但不支持填充。 因此,我为此创建了自己的库。 也许有人会有用。 一个小型(但实用)的库,用于向控制台输出彩色文本,并支持这种形式的缩进
Console::indent(2)->color('brown')->bgcolor('magenta')->writeln(' Habr!');

- 安装方式
- 使用方法
- 压痕
- 款式
- 记录中
- 句法糖
安装方式
您可以使用作曲家进行安装
composer require shasoft/console
或从github下载
使用方法
所有支持的颜色列表。 列名称是背景色,行名称是文本色。

彩色文字输出
- 功能颜色 ( 值 )-设置文字颜色
- 函数bgcolor ( value )-设置背景色
- 写入功能( value1 , value2 , ... )-在屏幕上显示该值。 如果该值不是字符串,则使用php函数var_export ( value , true )将其转换为字符串。
- 函数reset ()-将颜色重置为默认值
- 函数setDefault ()-设置默认颜色。 默认值:背景颜色=黑色,文本颜色=白色
- 函数enter ( $ resetColor = true)。 默认情况下,函数调用会将颜色重置为其默认值。 请注意,只有在调用enter()函数后才会显示该行。 这是因为该库支持填充。
- 函数writeln ( ... )-写( ... )+ enter()
use Shasoft\Console\Console;
压痕
要使用缩进,请使用缩进功能( 缩进值 [, 绝对值 ])-如果指定了第二个参数且它= true,则缩进为绝对值。 否则,缩进是相对的。 要获取当前的缩进,您需要不带参数的情况下调用indent()函数。
一个例子:
use Shasoft\Console\Console; Console::indent(0,true);
= 2 indent(1) = 3 = 2 indent(-1) = 2 = 2 indent(10) = 10 = 2 indent(1) = 1
结论: 
- 函数setTabSize ( 标签大小 )-设置标签的大小 。 默认值= 3
- 函数setSpace ( 符号 )-设置制表符。 默认值=``(空格)
缩进函数将应用于输出LINE,并且该值将更改,直到调用enter()函数为止。 即 该代码将打印缩进的第3行
Console::indent(0,true)->color('red')->indent(1)->bgcolor('blue')->indent(1)->write(' 3')->indent(1)->enter();
款式
您可以指定样式。 默认错误样式为“错误”
- SetStyle函数( 样式名称 , 文本颜色 = null, 背景颜色 = null)-设置样式参数
- 函数样式 ( 样式 名称 )-使用指定的样式
用法示例:
Console::indent(1,true)->style("error")->writeln('- ');
结论: 
记录中
有用于日志记录控制的特殊功能。
- 函数setLogLevel ( $ value = null)-设置/获取全局日志记录级别。 默认值= 0
- 函数logLevel ( $ value = null)-设置/获取日志记录级别。 默认值= 0
仅当当前日志记录级别小于全局日志记录级别时,才使用write()函数显示值。
一个例子:
Console::setLogLevel(0)->logLevel(1)->writeln(' , = 1 0'); Console::setLogLevel(2)->logLevel(1)->writeln(', = 1 - 2'); Console::setLogLevel(2)->logLevel(3)->write(' ')->logLevel(1)->write(' ')->enter();
句法糖
为了不写颜色('red')-> bgcolor('green')可以写成简短形式
Console::red()->bg_green()->writeln(' .');
可以通过该功能设置背景颜色,而无需使用下划线。 但是,它在视觉上将颜色与前缀分开,并且在我看来非常方便。
图书馆页面
upd :因为他们指出了ident函数的名称而不是indent的名称中的错误,所以我修复了它,以免使那些懂英语的人感到尴尬:)