This commit is contained in:
2021-04-25 12:33:48 +08:00
parent 633d6d5c53
commit e73cb9f47d
2 changed files with 174 additions and 176 deletions
+174 -175
View File
@@ -10,10 +10,7 @@ declare(strict_types=1);
namespace Snowflake\Abstracts; namespace Snowflake\Abstracts;
use Exception; use Exception;
use JetBrains\PhpStorm\Pure; use JetBrains\PhpStorm\Pure;
use Phalcon\Assets\Asset\Js;
use Snowflake\Application;
use Snowflake\Core\Json; use Snowflake\Core\Json;
use Snowflake\Snowflake; use Snowflake\Snowflake;
use Swoole\Coroutine; use Swoole\Coroutine;
@@ -27,207 +24,209 @@ use Swoole\Coroutine;
class BaseObject implements Configure class BaseObject implements Configure
{ {
/** /**
* BaseAbstract constructor. * BaseAbstract constructor.
* *
* @param array $config * @param array $config
* @throws Exception * @throws Exception
*/ */
public function __construct($config = []) public function __construct($config = [])
{ {
if (!empty($config) && is_array($config)) { if (!empty($config) && is_array($config)) {
Snowflake::configure($this, $config); var_dump(static::class . '::' . Json::encode($config));
}
$this->init(); Snowflake::configure($this, $config);
} }
$this->init();
}
/** /**
* @throws Exception * @throws Exception
*/ */
public function init() public function init()
{ {
} }
/** /**
* @param array|callable $callback * @param array|callable $callback
* @param object $scope * @param object $scope
*/ */
public function async_create(array|callable $callback, object $scope) public function async_create(array|callable $callback, object $scope)
{ {
Coroutine::create($callback, $scope); Coroutine::create($callback, $scope);
} }
/** /**
* @return string * @return string
*/ */
#[Pure] public static function className(): string #[Pure] public static function className(): string
{ {
return static::class; return static::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 ' . static::class); $this->error('set ' . $name . ' not exists ' . static::class);
throw new Exception('The set name ' . $name . ' not find in class ' . static::class); throw new Exception('The set name ' . $name . ' not find in class ' . static::class);
} }
} }
/** /**
* @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 ' . static::class); throw new Exception('The get name ' . $name . ' not find in class ' . static::class);
} }
} }
/** /**
* @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(var_export(Json::encode($message->getTrace()))); $this->error(var_export(Json::encode($message->getTrace())));
$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 Exception * @throws Exception
*/ */
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[" . date('Y-m-d H:i:s') . '][DEBUG]: ' . $message . "\033[0m"; $message = "\033[35m[" . date('Y-m-d H:i:s') . '][DEBUG]: ' . $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 Exception * @throws Exception
*/ */
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[" . date('Y-m-d H:i:s') . '][INFO]: ' . $message . "\033[0m"; $message = "\033[34m[" . date('Y-m-d H:i:s') . '][INFO]: ' . $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 Exception * @throws Exception
*/ */
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[" . date('Y-m-d H:i:s') . '][SUCCESS]: ' . $message . "\033[0m"; $message = "\033[36m[" . date('Y-m-d H:i:s') . '][SUCCESS]: ' . $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 Exception * @throws Exception
*/ */
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[" . date('Y-m-d H:i:s') . '][WARNING]: ' . $message . "\033[0m"; $message = "\033[33m[" . date('Y-m-d H:i:s') . '][WARNING]: ' . $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 Exception * @throws Exception
*/ */
public function error(mixed $message, $method = null, $file = null) public function error(mixed $message, $method = null, $file = null)
{ {
$socket = Snowflake::app()->getLogger(); $socket = Snowflake::app()->getLogger();
if ($message instanceof \Throwable) { if ($message instanceof \Throwable) {
$message = $message->getMessage() . " on line " . $message->getLine() . " at file " . $message->getFile(); $message = $message->getMessage() . " on line " . $message->getLine() . " at file " . $message->getFile();
} }
$content = (empty($method) ? '' : $method . ': ') . $message; $content = (empty($method) ? '' : $method . ': ') . $message;
$message = "\033[41;37m" . PHP_EOL . "[" . date('Y-m-d H:i:s') . '][ERROR]: ' . $content . PHP_EOL . "\033[0m"; $message = "\033[41;37m" . PHP_EOL . "[" . date('Y-m-d H:i:s') . '][ERROR]: ' . $content . PHP_EOL . "\033[0m";
if (!empty($file)) { if (!empty($file)) {
$message .= "\033[41;37m[" . date('Y-m-d H:i:s') . '][ERROR]: ' . $file . "\033[0m"; $message .= "\033[41;37m[" . date('Y-m-d H:i:s') . '][ERROR]: ' . $file . "\033[0m";
} }
$socket->output($message . PHP_EOL); $socket->output($message . PHP_EOL);
} }
} }
-1
View File
@@ -167,7 +167,6 @@ class Container extends BaseObject
*/ */
private function newInstance($reflect, $dependencies): mixed private function newInstance($reflect, $dependencies): mixed
{ {
var_dump($reflect->getName() . '::' . Json::encode($dependencies));
if (!empty($dependencies)) { if (!empty($dependencies)) {
return $reflect->newInstanceArgs($dependencies); return $reflect->newInstanceArgs($dependencies);
} }