This commit is contained in:
as2252258@163.com
2021-02-24 02:22:13 +08:00
parent 8397499502
commit d7e8b02948
+164 -164
View File
@@ -26,195 +26,195 @@ use Snowflake\Snowflake;
class BaseObject implements Configure class BaseObject implements Configure
{ {
/** /**
* BaseAbstract constructor. * BaseAbstract constructor.
* *
* @param array $config * @param array $config
*/ */
public function __construct($config = []) public function __construct($config = [])
{ {
if (!empty($config) && is_array($config)) { if (!empty($config) && is_array($config)) {
Snowflake::configure($this, $config); Snowflake::configure($this, $config);
} }
$this->init(); $this->init();
} }
public function init() public function init()
{ {
} }
/** /**
* @return string * @return string
*/ */
#[Pure] public static function className(): string #[Pure] public static function className(): string
{ {
return get_called_class(); return get_called_class();
} }
/** /**
* @param $name * @param $name
* @param $value * @param $value
* *
* @throws Exception * @throws Exception
*/ */
public function __set($name, $value) public function __set($name, $value)
{ {
$method = 'set' . ucfirst($name); $method = 'set' . ucfirst($name);
if (method_exists($this, $method)) { if (method_exists($this, $method)) {
$this->{$method}($value); $this->{$method}($value);
} else { } else {
$this->error('set ' . $name . ' not exists ' . get_called_class()); $this->error('set ' . $name . ' not exists ' . get_called_class());
throw new Exception('The set name ' . $name . ' not find in class ' . get_class($this)); throw new Exception('The set name ' . $name . ' not find in class ' . get_class($this));
} }
} }
/** /**
* @param $name * @param $name
* *
* @return mixed * @return mixed
* @throws Exception * @throws Exception
*/ */
public function __get($name): mixed public function __get($name): mixed
{ {
$method = 'get' . ucfirst($name); $method = 'get' . ucfirst($name);
if (method_exists($this, $method)) { if (method_exists($this, $method)) {
return $this->$method(); return $this->$method();
} else { } else {
throw new Exception('The get name ' . $name . ' not find in class ' . get_class($this)); throw new Exception('The get name ' . $name . ' not find in class ' . get_class($this));
} }
} }
/** /**
* @param $message * @param $message
* @param string $model * @param string $model
* @return bool * @return bool
* @throws Exception * @throws Exception
*/ */
public function addError($message, $model = 'app'): bool public function addError($message, $model = 'app'): bool
{ {
if ($message instanceof \Throwable) { if ($message instanceof \Throwable) {
$format = 'Error: ' . $message->getMessage() . PHP_EOL; $format = 'Error: ' . $message->getMessage() . PHP_EOL;
$format .= 'File: ' . $message->getFile() . PHP_EOL; $format .= 'File: ' . $message->getFile() . PHP_EOL;
$format .= 'Line: ' . $message->getLine(); $format .= 'Line: ' . $message->getLine();
$this->error($format); $this->error($format);
} else { } else {
if (!is_string($message)) { if (!is_string($message)) {
$message = json_encode($message, JSON_UNESCAPED_UNICODE); $message = json_encode($message, JSON_UNESCAPED_UNICODE);
} }
$this->error($message); $this->error($message);
} }
$logger = Snowflake::app()->getLogger(); $logger = Snowflake::app()->getLogger();
$logger->error($message, $model); $logger->error($message, $model);
return FALSE; return FALSE;
} }
/** /**
* @param mixed $message * @param mixed $message
* @param string $method * @param string $method
* @param string $file * @param string $file
* @throws ComponentException * @throws ComponentException
*/ */
public function debug(mixed $message, string $method = __METHOD__, string $file = __FILE__) public function debug(mixed $message, string $method = __METHOD__, string $file = __FILE__)
{ {
if (!is_string($message)) { if (!is_string($message)) {
$message = print_r($message, true); $message = print_r($message, true);
} }
$message = "\033[35m[DEBUG][" . date('Y-m-d H:i:s') . ']: ' . $message . "\033[0m"; $message = "\033[35m[DEBUG][" . date('Y-m-d H:i:s') . ']: ' . $message . "\033[0m";
$message .= PHP_EOL; $message .= PHP_EOL;
$socket = Snowflake::app()->getLogger(); $socket = Snowflake::app()->getLogger();
$socket->output($message); $socket->output($message);
} }
/** /**
* @param mixed $message * @param mixed $message
* @param string $method * @param string $method
* @param string $file * @param string $file
* @throws ComponentException * @throws ComponentException
*/ */
public function info(mixed $message, string $method = __METHOD__, string $file = __FILE__) public function info(mixed $message, string $method = __METHOD__, string $file = __FILE__)
{ {
if (!is_string($message)) { if (!is_string($message)) {
$message = print_r($message, true); $message = print_r($message, true);
} }
$message = "\033[34m[INFO][" . date('Y-m-d H:i:s') . ']: ' . $message . "\033[0m"; $message = "\033[34m[INFO][" . date('Y-m-d H:i:s') . ']: ' . $message . "\033[0m";
$message .= PHP_EOL; $message .= PHP_EOL;
$socket = Snowflake::app()->getLogger(); $socket = Snowflake::app()->getLogger();
$socket->output($message); $socket->output($message);
} }
/** /**
* @param mixed $message * @param mixed $message
* @param string $method * @param string $method
* @param string $file * @param string $file
* @throws ComponentException * @throws ComponentException
*/ */
public function success(mixed $message, string $method = __METHOD__, string $file = __FILE__) public function success(mixed $message, string $method = __METHOD__, string $file = __FILE__)
{ {
if (!is_string($message)) { if (!is_string($message)) {
$message = print_r($message, true); $message = print_r($message, true);
} }
$message = "\033[36m[SUCCESS][" . date('Y-m-d H:i:s') . ']: ' . $message . "\033[0m"; $message = "\033[36m[SUCCESS][" . date('Y-m-d H:i:s') . ']: ' . $message . "\033[0m";
$message .= PHP_EOL; $message .= PHP_EOL;
$socket = Snowflake::app()->getLogger(); $socket = Snowflake::app()->getLogger();
$socket->output($message); $socket->output($message);
} }
/** /**
* @param mixed $message * @param mixed $message
* @param string $method * @param string $method
* @param string $file * @param string $file
* @throws ComponentException * @throws ComponentException
*/ */
public function warning(mixed $message, string $method = __METHOD__, string $file = __FILE__) public function warning(mixed $message, string $method = __METHOD__, string $file = __FILE__)
{ {
if (!is_string($message)) { if (!is_string($message)) {
$message = print_r($message, true); $message = print_r($message, true);
} }
$message = "\033[33m[WARNING][" . date('Y-m-d H:i:s') . ']: ' . $message . "\033[0m"; $message = "\033[33m[WARNING][" . date('Y-m-d H:i:s') . ']: ' . $message . "\033[0m";
$message .= PHP_EOL; $message .= PHP_EOL;
$socket = Snowflake::app()->getLogger(); $socket = Snowflake::app()->getLogger();
$socket->output($message); $socket->output($message);
} }
/** /**
* @param mixed $message * @param mixed $message
* @param null $method * @param null $method
* @param null $file * @param null $file
* @throws ComponentException * @throws ComponentException
*/ */
public function error(mixed $message, $method = null, $file = null) public function error(mixed $message, $method = null, $file = null)
{ {
if (!empty($file)) { if (!empty($file)) {
echo "\033[41;37m[ERROR][" . date('Y-m-d H:i:s') . ']: ' . $file . "\033[0m"; echo "\033[41;37m[ERROR][" . date('Y-m-d H:i:s') . ']: ' . $file . "\033[0m";
echo PHP_EOL; echo PHP_EOL;
} }
if (!is_string($message)) { if (!is_string($message)) {
$message = print_r($message, true); $message = print_r($message, true);
} }
$content = (empty($method) ? '' : $method . ': ') . $message;
$length = strlen('[ERROR][2021-02-20 08:32:02]:'); $length = strlen('[ERROR][2021-02-20 08:32:02]:');
$message = (empty($method) ? '' : $method . ': ') . $message; $message = "\033[41;37m[ERROR][" . date('Y-m-d H:i:s') . ']: ' . "\033[0m" . PHP_EOL;
$message .= "\033[41;37m" . str_pad($content, $length, ' ', STR_PAD_LEFT) . "\033[0m";
$message .= PHP_EOL;
$message = "\033[41;37m[ERROR][" . date('Y-m-d H:i:s') . ']: ' . PHP_EOL . $socket = Snowflake::app()->getLogger();
str_pad($message, $length, ' ', STR_PAD_LEFT) . "\033[0m"; $socket->output($message);
$message .= PHP_EOL; }
$socket = Snowflake::app()->getLogger();
$socket->output($message);
}
} }