krypt0nn/colorizer

用于处理CLI颜色代码的库

0.1.2 2021-08-11 10:59 UTC

This package is auto-updated.

Last update: 2024-09-11 18:10:50 UTC


README

Colorizer - 一个用于处理 颜色控制代码 的小型库

安装

composer require krypt0nn/colorizer

使用

负责文本着色的类是 Colorizer\ColorColorizer\Colors。类 Colorizer\Colors 实现了8个基本函数,用于在文本中添加颜色。

上述每个函数都有两个额外的参数: bool $bright = falsebool $background = false。第一个参数负责颜色的亮度。例如,调用 Colors::black() - 文本将变为黑色,而调用 Colors::black(true) - 文本将变为灰色。

第二个参数负责指定颜色应用的位置 - 文本颜色或背景颜色。例如,结构 Colors::red(false, true) . Colors::yellow() 将输出后续所有文本具有红色背景和黄色文本颜色。

要恢复默认颜色设置,可以使用函数 Colors::reset()

为了简化文本的着色,存在一个名为 Colors::format 的方法,它接受一个包含主文本和所需添加颜色的字符串作为参数,格式为 [颜色名称,亮度=0,背景=0]。例如,Colors::format('Hello, [yellow]World[reset]!') 将返回一个字符串,其中单词 "World" 将被黄色突出显示。在上面的示例中,Colors::format('Hello, [red,0,1][yellow]World[reset]!') 将使 "World" 以黄色文本颜色显示在红色背景上。

请注意,该库的所有方法都返回设置CLI文本颜色的控制字符。这意味着 Colors::yellow() 不会将所有输出的文本都变为黄色。它返回可以添加到您的文本中的控制代码,然后您可以自行输出该文本。类似地,Colors::format() 仅替换方括号内写明的颜色,将其替换为控制代码。要输出突出显示的文本,请使用标准输出操作符,例如函数 echo。下面的示例将展示如何操作。

突出显示单词 "World" 的不同方式

<?php

use Colorizer\Colors;

echo 'Hello, '. Colors::yellow () .'World'. Colors::reset () .'!';
<?php

use Colorizer\Color;

echo 'Hello, '. new Color ('yellow') .'World'. new Color ('reset') .'!';
<?php

use Colorizer\Colors;

echo Colors::format ('Hello, [yellow]World[reset]!');

错误窗口示例

<?php

use Colorizer\Colors;

echo Colors::format ('[red,0,1][white]                                            
    [yellow,1]WARNING![white]                                
    Something went wrong                    
                                            [reset]');
<?php

use Colorizer\Dialog;

echo (new Dialog ('Something went wrong', 'WARNING!'))
    ->background ('red')
    ->foregroundCaption ('yellow')
    ->width (30);
<?php

use Colorizer\Dialog;

echo Dialog::new ('Something went wrong', 'WARNING!')
    ->background ('red')
    ->foregroundCaption ('yellow')
    ->width (30);

作者: Podvirnyi Nikita。特别为 Enfesto Studio Group 制作。