* * @param string $method * @param array $args * * @throws \Exception */ public function __call($method, $args): void { call_user_func_array([self::getInstance(), $method], $args); } /** * __callStatic. * * @author yansongda * * @param string $method * @param array $args * * @throws \Exception */ public static function __callStatic($method, $args): void { forward_static_call_array([self::getInstance(), $method], $args); } /** * getInstance. * * @author yansongda * * @return \Yansongda\Supports\Logger */ public static function getInstance(): Logger { if (is_null(self::$instance)) { self::$instance = new Logger(); } return self::$instance; } /** * setInstance. * * @author yansongda * * @param \Yansongda\Supports\Logger $logger * * @throws \Exception */ public static function setInstance(Logger $logger): void { self::$instance = $logger; } }