From c6847b2f57c3f64e1a04867b7e7708f5f135c5b0 Mon Sep 17 00:00:00 2001 From: Gregor Klevze Date: Sat, 14 Mar 2026 10:20:06 +0100 Subject: [PATCH] Add demo SVG, update README and .gitignore; fix HSV normalization and rainbow spacing --- .github/workflows/php.yml | 25 ++++++- .gitignore | 24 ++++++ .travis.yml | 11 ++- README.md | 7 ++ Tests/phpColorsTest.php | 5 +- assets/example.png | Bin 0 -> 89406 bytes assets/image.png | Bin 0 -> 93854 bytes bin/php-parse | 119 +++++++++++++++++++++++++++++ bin/php-parse.bat | 5 ++ bin/phpunit | 122 ++++++++++++++++++++++++++++++ bin/phpunit.bat | 5 ++ composer.json | 6 +- example.php | 153 ++++++++++++++++++-------------------- src/Colors.php | 103 ++++++++++++++++++++++++- 14 files changed, 490 insertions(+), 95 deletions(-) create mode 100644 assets/example.png create mode 100644 assets/image.png create mode 100644 bin/php-parse create mode 100644 bin/php-parse.bat create mode 100644 bin/phpunit create mode 100644 bin/phpunit.bat diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index fade522..e849385 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -11,9 +11,18 @@ jobs: runs-on: ubuntu-latest + strategy: + matrix: + php-version: [7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5] + steps: - uses: actions/checkout@v2 + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + - name: Validate composer.json and composer.lock run: composer validate @@ -30,8 +39,20 @@ jobs: if: steps.composer-cache.outputs.cache-hit != 'true' run: composer install --prefer-dist --no-progress --no-suggest + - name: Install compatible PHPUnit for PHP version + run: | + VER=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;') + echo "Detected PHP version: $VER" + if [[ "$VER" == 7.* ]]; then + composer require --dev phpunit/phpunit:"^8.5.52" --no-interaction --no-progress + elif [[ "$VER" == "8.0" ]]; then + composer require --dev phpunit/phpunit:"^9.5" --no-interaction --no-progress + else + composer require --dev phpunit/phpunit:"^10.0" --no-interaction --no-progress + fi + # Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit" # Docs: https://getcomposer.org/doc/articles/scripts.md - # - name: Run test suite - # run: composer run-script test + - name: Run test suite + run: composer run-script test diff --git a/.gitignore b/.gitignore index 3a9875b..b04fc73 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,26 @@ /vendor/ composer.lock + +# IDE/editor +.idea/ +.vscode/ + +# OS files +.DS_Store +Thumbs.db + +# PHPUnit cache and build artifacts +/.phpunit.result.cache +/coverage/ +/build/ + +# Logs and temp +logs/ +*.log + +# Editor swap files +*.swp +*~ + +# Example/demo outputs +example-output.txt diff --git a/.travis.yml b/.travis.yml index 8194d5d..9d824f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,14 @@ language: php php: - - 5.6 - - 7.0 - - 7.1 - 7.2 + - 7.3 + - 7.4 + - 8.0 + - 8.1 + - 8.2 + - 8.3 + - 8.4 + - 8.5 sudo: false diff --git a/README.md b/README.md index acd2b18..d951f17 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # phpColors +![phpColors demo](assets/example.png) + [![Codacy Badge](https://api.codacy.com/project/badge/Grade/3a77e6f0248e41fda03fe6e68dcb7e86)](https://www.codacy.com/app/klevze/phpColors?utm_source=github.com&utm_medium=referral&utm_content=klevze/phpColors&utm_campaign=Badge_Grade) Adds colors to your console applications @@ -7,6 +9,11 @@ Adds colors to your console applications [View on Packagist](https://packagist.org/packages/klevze/phpcolors) +## Requirements + +- PHP 7.2 or newer (tested on 7.2–8.5) + + ## Installation `composer require klevze/phpcolors` diff --git a/Tests/phpColorsTest.php b/Tests/phpColorsTest.php index d1509c9..9d04cc3 100644 --- a/Tests/phpColorsTest.php +++ b/Tests/phpColorsTest.php @@ -5,16 +5,17 @@ class phpColorsTest extends TestCase { private $colors; - protected function setUp() + protected function setUp(): void { $this->colors = new klevze\phpColors\Colors(); } - protected function tearDown() + protected function tearDown(): void { $this->colors = null; } + public function testAdd() { $this->assertEquals("\033[41mTEST TEXT\033[0m", $this->colors->bgRed() . "TEST TEXT" . $this->colors->reset()); diff --git a/assets/example.png b/assets/example.png new file mode 100644 index 0000000000000000000000000000000000000000..b50ca003f36cf01570a40c327327ef59f19cc081 GIT binary patch literal 89406 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

LWbIZILBZRzmZ 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 literal 0 HcmV?d00001 diff --git a/assets/image.png b/assets/image.png new file mode 100644 index 0000000000000000000000000000000000000000..757234b612c4a3ae7505828c0800b4914c1cccd8 GIT binary patch literal 93854 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 z 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 literal 0 HcmV?d00001 diff --git a/bin/php-parse b/bin/php-parse new file mode 100644 index 0000000..a208b76 --- /dev/null +++ b/bin/php-parse @@ -0,0 +1,119 @@ +#!/usr/bin/env php +realpath = realpath($opened_path) ?: $opened_path; + $opened_path = $this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } + } + } + + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + return include("phpvfscomposer://" . __DIR__ . '/..'.'/vendor/nikic/php-parser/bin/php-parse'); + } +} + +return include __DIR__ . '/..'.'/vendor/nikic/php-parser/bin/php-parse'; diff --git a/bin/php-parse.bat b/bin/php-parse.bat new file mode 100644 index 0000000..2c5096d --- /dev/null +++ b/bin/php-parse.bat @@ -0,0 +1,5 @@ +@ECHO OFF +setlocal DISABLEDELAYEDEXPANSION +SET BIN_TARGET=%~dp0/php-parse +SET COMPOSER_RUNTIME_BIN_DIR=%~dp0 +php "%BIN_TARGET%" %* diff --git a/bin/phpunit b/bin/phpunit new file mode 100644 index 0000000..a6b823e --- /dev/null +++ b/bin/phpunit @@ -0,0 +1,122 @@ +#!/usr/bin/env php +realpath = realpath($opened_path) ?: $opened_path; + $opened_path = 'phpvfscomposer://'.$this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + $data = str_replace('__DIR__', var_export(dirname($this->realpath), true), $data); + $data = str_replace('__FILE__', var_export($this->realpath, true), $data); + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } + } + } + + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + return include("phpvfscomposer://" . __DIR__ . '/..'.'/vendor/phpunit/phpunit/phpunit'); + } +} + +return include __DIR__ . '/..'.'/vendor/phpunit/phpunit/phpunit'; diff --git a/bin/phpunit.bat b/bin/phpunit.bat new file mode 100644 index 0000000..2a070cd --- /dev/null +++ b/bin/phpunit.bat @@ -0,0 +1,5 @@ +@ECHO OFF +setlocal DISABLEDELAYEDEXPANSION +SET BIN_TARGET=%~dp0/phpunit +SET COMPOSER_RUNTIME_BIN_DIR=%~dp0 +php "%BIN_TARGET%" %* diff --git a/composer.json b/composer.json index b7bdc6d..e322824 100644 --- a/composer.json +++ b/composer.json @@ -14,11 +14,11 @@ } ], "require": { - "php": ">=5.6" + "php": ">=7.2" }, "require-dev": { - "phpunit/phpunit": "^7" + "phpunit/phpunit": "^8.5.52 || ^9.5 || ^10.0" }, "config": { @@ -32,6 +32,6 @@ }, "scripts": { - "test": "vendor/bin/phpunit" + "test": "php vendor/phpunit/phpunit/phpunit" } } diff --git a/example.php b/example.php index 36f7850..f98e5e7 100644 --- a/example.php +++ b/example.php @@ -1,94 +1,85 @@ -bgRed() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgGreen() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgYellow() . "TEST TEXT " . $c->reset() . PHP_EOL; -echo $line; -$line = $c->bgBlue() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgCyan() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgMagenta() . "TEST TEXT " . $c->reset() . PHP_EOL; -echo $line; -$line = $c->bgLightGray() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgDarkGray() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgLightRed() . "TEST TEXT " . $c->reset() . PHP_EOL; -echo $line; -$line = $c->bgLightGreen() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgLightYellow() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgLightBlue() . "TEST TEXT " . $c->reset() . PHP_EOL; -echo $line; -$line = $c->bgMagenta() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgCyan() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->bgWhite() . "TEST TEXT " . $c->reset() . PHP_EOL; -echo $line; -echo PHP_EOL; +// CLI options: --glyph, --steps, --bg, --space +$opts = getopt('', ['glyph::', 'steps::', 'bg::', 'space::']); +$glyph = $opts['glyph'] ?? '*'; +$steps = isset($opts['steps']) ? (int) $opts['steps'] : 16; +$useBg = isset($opts['bg']) && ($opts['bg'] === '1' || $opts['bg'] === 'true'); +$space = !isset($opts['space']) || ($opts['space'] !== '0' && $opts['space'] !== 'false'); + +// Helper to call methods dynamically and print labeled output +function printBlock(Colors $c, string $method, string $label = "TEST") { + if (!method_exists($c, $method)) { + echo "Method $method does not exist\n"; + return; + } + + echo $c->{$method}() . $label . $c->reset() . "\t"; +} + +// Backgrounds (programmatic) +$bgNames = [ + 'Black','Red','Green','Yellow','Blue','Magenta','Cyan', + 'LightGray','DarkGray','LightRed','LightGreen','LightYellow', + 'LightBlue','LightMagenta','LightCyan','White' +]; + +foreach ($bgNames as $i => $name) { + printBlock($c, 'bg' . $name, 'BG'); + // break line every 3 + if (($i + 1) % 3 === 0) { + echo PHP_EOL; + } +} -for ($i = 0; $i < 3; $i++) { - $line = $c->red($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->green($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->yellow($i) . "TEST TEXT " . $c->reset() . PHP_EOL; - echo $line; - $line = $c->blue($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->cyan($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->magenta($i) . "TEST TEXT " . $c->reset() . PHP_EOL; - echo $line; - $line = $c->lightGray($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->darkGray($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->lightRed($i) . "TEST TEXT " . $c->reset() . PHP_EOL; - echo $line; - $line = $c->lightGreen($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->lightYellow($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->lightBlue($i) . "TEST TEXT " . $c->reset() . PHP_EOL; - echo $line; - $line = $c->magenta($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->cyan($i) . "TEST TEXT " . $c->reset() . "\t"; - echo $line; - $line = $c->white($i) . "TEST TEXT " . $c->reset() . PHP_EOL; - echo $line; - echo PHP_EOL; +echo PHP_EOL . PHP_EOL; + +// Foregrounds with styles: normal, bold, dim +$fgMethods = [ + 'black','red','green','yellow','blue','cyan','magenta', + 'lightGray','darkGray','lightRed','lightGreen','lightYellow', + 'lightBlue','lightMagenta','lightCyan','white' +]; + +foreach ($fgMethods as $method) { + echo $c->{$method}() . strtoupper($method) . $c->reset() . "\t"; } -$line = $c->bold() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->underline() . "TEST TEXT " . $c->reset() . "\t"; -echo $line; -$line = $c->dim() . "TEST TEXT " . $c->reset() . PHP_EOL; -echo $line; +echo PHP_EOL . PHP_EOL; -// Italic -$line = $c->underline() . "TEST TEXT " . $c->italic() . "\t"; -echo $line; +// Show bold + underline + dim examples +echo $c->bold() . "BOLD TEXT" . $c->reset() . "\t"; +echo $c->underline() . "UNDERLINE" . $c->reset() . "\t"; +echo $c->dim() . "DIM TEXT" . $c->reset() . PHP_EOL; -// Blinked text -$line = $c->blink() . "TEST TEXT " . $c->reset() . PHP_EOL; -echo $line; +// Show using style parameter on foreground (e.g., bold red) +echo $c->red(Colors::BOLD) . "Red Bold" . $c->reset() . "\t"; +echo $c->green(Colors::DIM) . "Green Dim" . $c->reset() . PHP_EOL; -for ($i = 0; $i < 256; $i+=16) { - $line = "\033[38;2;250;0;" . $i . "m TEST TEXT\033[0m" . PHP_EOL; - echo $line; +// 24-bit RGB example +for ($i = 0; $i < 256; $i += 16) { + echo "\033[38;2;250;0;" . $i . "m RGB($i)\033[0m " ; } +echo PHP_EOL; + +// Additional gradients using `Colors` helpers and CLI options +echo PHP_EOL . "RGB Gradients:" . PHP_EOL; +echo $c->rgbGradientString([255,0,0], [0,0,255], $steps, $glyph, false, $space); +echo $c->rgbGradientString([0,255,0], [0,0,255], $steps, $glyph, false, $space); +echo $c->rgbGradientString([255,255,0], [255,0,255], $steps, $glyph, false, $space); + +// Background gradients (compact blocks) +echo $c->rgbGradientString([255,0,0], [0,0,255], max(16, $steps * 2), ' ', true, false); +echo $c->rgbGradientString([0,255,0], [0,0,255], max(16, $steps * 2), ' ', true, false); + +echo PHP_EOL . "Rainbow:" . PHP_EOL; +echo $c->rainbowString(48, '#'); + + diff --git a/src/Colors.php b/src/Colors.php index 1c1561b..835fa76 100644 --- a/src/Colors.php +++ b/src/Colors.php @@ -50,14 +50,109 @@ class Colors * @param string $style [0,1 or 2 for light, normal or dark] * @return string [formated string] */ + /** + * Cache for previously-built escape codes to avoid recomputing strings. + * Keys are like "{style};{color}" (style omitted when null). + * @var array + */ + private static $buildCache = []; + private function build($color, $style = null) { + // normalize parts to string (colors are stored as ints in $this->color) + $colorStr = (string) $color; + $styleStr = $style === null ? '' : (string) $style; + + $key = $styleStr === '' ? $colorStr : $styleStr . ';' . $colorStr; + + if (isset(self::$buildCache[$key])) { + return self::$buildCache[$key]; + } + $res = self::OPEN_ESCAPE_CODE; if ($style !== null) { - $res .= $style . ";"; + $res .= $styleStr . ";"; } - $res .= $color; - $res .= self::CLOSE_ESCAPE_CODE; - + $res .= $colorStr; + $res .= self::CLOSE_ESCAPE_CODE; + + self::$buildCache[$key] = $res; + return $res; } + + /** + * Return a foreground 24-bit escape sequence for RGB. + */ + public function escFg(int $r, int $g, int $b): string + { + return sprintf("\033[38;2;%d;%d;%dm", $r, $g, $b); + } + + /** + * Return a background 24-bit escape sequence for RGB. + */ + public function escBg(int $r, int $g, int $b): string + { + return sprintf("\033[48;2;%d;%d;%dm", $r, $g, $b); + } + + /** + * Build a gradient string between two RGB colors. + * Returns a string (does not print). Options: + * - $glyph: character to print for each step + * - $bg: whether to use background coloring + * - $space: whether to add a space between glyphs + */ + public function rgbGradientString(array $from, array $to, int $steps = 16, string $glyph = '*', bool $bg = false, bool $space = true): string + { + $out = ''; + for ($i = 0; $i <= $steps; $i++) { + $t = $steps === 0 ? 0.0 : $i / $steps; + $r = (int) round($from[0] + ($to[0] - $from[0]) * $t); + $g = (int) round($from[1] + ($to[1] - $from[1]) * $t); + $b = (int) round($from[2] + ($to[2] - $from[2]) * $t); + $esc = $bg ? $this->escBg($r, $g, $b) : $this->escFg($r, $g, $b); + $out .= $esc . $glyph . "\033[0m" . ($space ? ' ' : ''); + } + $out .= PHP_EOL; + return $out; + } + + /** + * Convert HSV (0..1) to RGB (0..255) + */ + public function hsvToRgb(float $h, float $s, float $v): array + { + // Normalize hue into [0,1). Use floor to handle floats correctly (avoid PHP's int-only % operator). + $h = $h - floor($h); + $i = (int) floor($h * 6); + $f = $h * 6 - $i; + $p = $v * (1 - $s); + $q = $v * (1 - $f * $s); + $t = $v * (1 - (1 - $f) * $s); + switch ($i % 6) { + case 0: $r = $v; $g = $t; $b = $p; break; + case 1: $r = $q; $g = $v; $b = $p; break; + case 2: $r = $p; $g = $v; $b = $t; break; + case 3: $r = $p; $g = $q; $b = $v; break; + case 4: $r = $t; $g = $p; $b = $v; break; + default: $r = $v; $g = $p; $b = $q; break; + } + return [(int) round($r * 255), (int) round($g * 255), (int) round($b * 255)]; + } + + /** + * Return a rainbow string of $steps glyphs using HSV sweep. + */ + public function rainbowString(int $steps = 24, string $glyph = '#'): string + { + $out = ''; + for ($i = 0; $i < $steps; $i++) { + $h = $steps > 0 ? ($i / $steps) : 0.0; + [$r, $g, $b] = $this->hsvToRgb($h, 1.0, 1.0); + $out .= $this->escFg($r, $g, $b) . $glyph . "\033[0m" . ' '; + } + $out .= PHP_EOL; + return $out; + } } \ No newline at end of file