8000 GitHub - SkurkovPavel/php-terminal-tools: PHP Terminal Tools облегчают работу с терминалом в проектах, написанных на языке PHP
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

PHP Terminal Tools облегчают работу с терминалом в проектах, написанных на языке PHP

License

Notifications You must be signed in to change notification settings

SkurkovPavel/php-terminal-tools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP Terminal Tools

Travis Latest Stable Version

PHP Terminal Tools облегчают работу с терминалом в проектах, написанных на языке PHP.

Установка

Чтобы установить, используйте Composer:

composer require win0err/php-terminal-tools

Использование

<?php
use win0err\TerminalTools\TextFormatter;
use win0err\TerminalTools\Colors\{Classic, Extended, TrueColor};

$textFormatter = new TextFormatter( "Съешь ещё этих мягких французских булок, да выпей чаю" );
echo $textFormatter;
// или сокращённая запись: 
echo TextFormatter::format( 
	"В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!" /* $text */, // Обязательно
	new Extended(198) /* $textColor = null */, 
	new Extended(200) /* $backgroundColor = null*/, 
	TextFormatter::BOLD /* ...$styles */ 
	);

Стиль текста

Для установки стилей используется метод setStyles. Поддерживаются 6 стилей: жирный, блеклый, подчёркнутый, мигающий, инвертированный, скрытый. Для удобства, все они предопределены в классе TextFormatter.

$textFormatter->setStyles( TextFormatter::UNDERLINE );

Стили можно комбинировать:

$textFormatter->setStyles( TextFormatter::BOLD, TextFormatter::UNDERLINE );
// или
$textFormatter->setStyles( TextFormatter::BOLD );
$textFormatter->setStyles( TextFormatter::UNDERLINE );

Цвет текста

Для установки цвета текста, используется метод setTextColor, для цвета фона — setBackgroundColor.

Классическая палитра (16 цветов)

В классе Classic для удобства предопределены константы для всех возможных цветов данной палитры.

$color = new Classic( Classic::MAGENTA );

$textFormatter
    ->setTextColor( $color )
    ->setBackgroundColor( new Classic( Classic::WHITE ) );

Расширенная палитра (256 цветов)

В классе Extended для удобства предопределены константы 16-ти основных цветов палитры. Остальные цвета можно задать числом в диапазоне от 0 до 255.

$textFormatter
    ->setTextColor( new Extended( 198 ) )
    ->setBackgroundColor( new Extended( rand(0, 255) ) );

Палитра TrueColor (поддерживается редко)

В классе TrueColor для удобства предопределены константы основных цветов палитры. Остальные цвета можно задать как HEX-кодами:

$textFormatter
    ->setTextColor( TrueColor::hex( TrueColor::REBECCA_PURPLE ) )
    ->setBackgroundColor( TrueColor::hex( "#fff" ) ) );

Так и значениями красного, зелёного и синего в диапазоне от 0 до 255:

$textFormatter->setTextColor( new TrueColor( 255, 255, 255 ) );

Пример

PHP Terminal Tools

Исходный код примера

<?php
require 'vendor/autoload.php';

use win0err\TerminalTools\TextFormatter;
use win0err\TerminalTools\Colors\{
	Classic, Extended, TrueColor
};

$textFormatter = new TextFormatter( "  " );

echo 'System colors:' . PHP_EOL . PHP_EOL;
for( $i = 30; $i < 38; $i++ )
	echo $textFormatter->setBackgroundColor( new Classic( $i ) );
echo PHP_EOL;
for( $i = 90; $i < 98; $i++ )
	echo $textFormatter->setBackgroundColor( new Classic( $i ) );
echo PHP_EOL . PHP_EOL . PHP_EOL;


echo 'Extended palette: ' . PHP_EOL . PHP_EOL;
for( $green = 0; $green < 6; $green++ ) {
	for( $red = 0; $red < 6; $red++ ) {
		for( $blue = 0; $blue < 6; $blue++ ) 
			echo $textFormatter->setBackgroundColor( new Extended( 16 + ($red * 36) + ($green * 6) + $blue ) );
		
		echo " ";
	}
	echo PHP_EOL;
}
echo PHP_EOL;
for( $color = 232; $color < 256; $color++ )
	echo $textFormatter->setBackgroundColor( new Extended( $color ) );
echo PHP_EOL . PHP_EOL . PHP_EOL;

echo 'TrueColor palette (partially): ' . PHP_EOL . PHP_EOL;
for( $green = 0; $green < 256; $green += 51 ) {
	for( $red = 0; $red < 256; $red += 51 ) {
		for( $blue = 0; $blue < 256; $blue += 51 )
			echo $textFormatter->setBackgroundColor( new TrueColor( $red, $green, $blue ) );
		
		echo " ";
	}
	echo PHP_EOL;
}
echo PHP_EOL;

About

PHP Terminal Tools облегчают работу с терминалом в проектах, написанных на языке PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%
0