* @license MIT License (http://www.opensource.org/licenses/mit) */ class TerminalMessage { /** * Send a message to the terminal ending with a line break at the end. * @param string $msg The message to send. */ public function send(string $msg) { echo $msg . PHP_EOL; } /** * Send a title to the terminal with a specified layer and and a double line break at the end. * @param string $msg The title message to send. * @param string $layer The layer (default: 0) */ public function sendTitle(string $msg, int $layer=0) { $layerString = "#"; for($i=0; $i<$layer; $i++) { $layerString .= "#"; } self::send( "\033[1m[$layerString] $msg\033[0m" . PHP_EOL ); } /** * Send a success message to the terminal with a green color and a line break at the end. * @param string $msg The success message to send. */ public function sendSuccess(string $msg) { self::send( "\033[1;32m[SUCCESS] $msg\033[0m" ); } /** * Send an info message to the terminal with a blue color and a line break at the end. * @param string $msg The info message to send. */ public function sendInfo(string $msg) { self::send( "\033[1;34m[INFO] $msg\033[0m" ); } /** * Send an error message to the terminal with a red color and a line break at the end. * @param string $msg The error message to send. * @param bool $critical If true, the script will terminate with a non-zero exit code (default: false). */ public function sendError(string $msg, bool $critical=false) { self::send( "\033[1;31m[ERROR] $msg\033[0m" ); if ($critical) { die(1); } } /** * Send a warning message to the terminal with a yellow color and a line break at the end. * @param string $msg The warning message to send. * @param bool $critical If true, the script will terminate with a non-zero exit code (default: false). */ public function sendWarning(string $msg, bool $critical=false) { self::send( "\033[1;33m[WARNING] $msg\033[0m" ); if ($critical) { die(1); } } }