/** * Точка достпуа к объекту (singleton) * * @return URFAClient_Log */ public static function instance() { if (is_null(self::$_instance)) { self::$_instance = new URFAClient_Log(); } return self::$_instance; }
/** * Магический метод для сборки информации о вызваных методах API * * @param String $name Имя метода * @param Array $args Аргументы */ public function __call($name, array $args) { try { $ts = microtime(TRUE); $result = call_user_func_array(array($this->_api, $name), $args); $te = microtime(TRUE); URFAClient_Log::instance()->method($name, $args ? $args[0] : array(), $result, $te - $ts); return $result; } catch (Exception $e) { URFAClient_Log::instance()->method($name, $args ? $args[0] : array(), NULL, 0, $e->getMessage()); return FALSE; } }
/** * Последняя ошибка * * @return String */ public static function last_error() { return URFAClient_Log::instance()->get_last_error(); }