krypt0nn / colorizer
Library to work with CLI color codes
Requires
- php: >=7.4
This package is auto-updated.
Last update: 2024-11-11 18:34:40 UTC
README
Colorizer - небольшая библиотека для работы с цветовыми управляющими кодами
Установка
composer require krypt0nn/colorizer
Использование
За реализацию подсветки текста отвечают классы Colorizer\Color
и Colorizer\Colors
. Класс Colorizer\Colors
реализует 8 базовых функций добавления цвета в текст:
У каждой из описанных выше функций есть два дополнительных аргументы: bool $bright = false
и bool $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);
Автор: Подвирный Никита. Специально для Enfesto Studio Group