- improved logging
- fixed multiple problem with map sync - added some "garbage collection" for unsubscribed connection data - updated README.md
This commit is contained in:
90
app/Log/ShellColors.php
Normal file
90
app/Log/ShellColors.php
Normal file
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Exodus4D\Socket\Log;
|
||||
|
||||
|
||||
class ShellColors {
|
||||
|
||||
/**
|
||||
* all foreground color codes
|
||||
* @var array
|
||||
*/
|
||||
private $foregroundColors = [];
|
||||
|
||||
/**
|
||||
* all background color codes
|
||||
* @var array
|
||||
*/
|
||||
private $backgroundColors = [];
|
||||
|
||||
public function __construct() {
|
||||
// set up "Shell" colors
|
||||
$this->foregroundColors['black'] = '0;30';
|
||||
$this->foregroundColors['dark_gray'] = '1;30';
|
||||
$this->foregroundColors['blue'] = '0;34';
|
||||
$this->foregroundColors['light_blue'] = '1;34';
|
||||
$this->foregroundColors['green'] = '0;32';
|
||||
$this->foregroundColors['light_green'] = '1;32';
|
||||
$this->foregroundColors['cyan'] = '0;36';
|
||||
$this->foregroundColors['light_cyan'] = '1;36';
|
||||
$this->foregroundColors['red'] = '0;31';
|
||||
$this->foregroundColors['light_red'] = '1;31';
|
||||
$this->foregroundColors['purple'] = '0;35';
|
||||
$this->foregroundColors['light_purple'] = '1;35';
|
||||
$this->foregroundColors['brown'] = '0;33';
|
||||
$this->foregroundColors['yellow'] = '1;33';
|
||||
$this->foregroundColors['light_gray'] = '0;37';
|
||||
$this->foregroundColors['white'] = '1;37';
|
||||
|
||||
$this->backgroundColors['black'] = '40';
|
||||
$this->backgroundColors['red'] = '41';
|
||||
$this->backgroundColors['green'] = '42';
|
||||
$this->backgroundColors['yellow'] = '43';
|
||||
$this->backgroundColors['blue'] = '44';
|
||||
$this->backgroundColors['magenta'] = '45';
|
||||
$this->backgroundColors['cyan'] = '46';
|
||||
$this->backgroundColors['light_gray'] = '47';
|
||||
}
|
||||
|
||||
/**
|
||||
* get colored string
|
||||
* @param string $string
|
||||
* @param string|null $foregroundColor
|
||||
* @param string|null $backgroundColor
|
||||
* @return string
|
||||
*/
|
||||
public function getColoredString(string $string, ?string $foregroundColor = null, ?string $backgroundColor = null) : string {
|
||||
$coloredString = "";
|
||||
|
||||
// Check if given foreground color found
|
||||
if (isset($this->foregroundColors[$foregroundColor])) {
|
||||
$coloredString .= "\033[" . $this->foregroundColors[$foregroundColor] . "m";
|
||||
}
|
||||
// Check if given background color found
|
||||
if (isset($this->backgroundColors[$backgroundColor])) {
|
||||
$coloredString .= "\033[" . $this->backgroundColors[$backgroundColor] . "m";
|
||||
}
|
||||
|
||||
// Add string and end coloring
|
||||
$coloredString .= $string . "\033[0m";
|
||||
|
||||
return $coloredString;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns all foreground color names
|
||||
* @return array
|
||||
*/
|
||||
public function getForegroundColors() : array {
|
||||
return array_keys($this->foregroundColors);
|
||||
}
|
||||
|
||||
/**
|
||||
* returns all background color names
|
||||
* @return array
|
||||
*/
|
||||
public function getBackgroundColors() : array {
|
||||
return array_keys($this->backgroundColors);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user