public static function getInstance() { if (!self::$_instance) { self::$_instance = new self(); } return self::$_instance; }
public function __invoke() { $function = $this->_object; $arguments = func_get_args(); return Db::getInstance()->runInTransaction(function () use($function, $arguments) { return call_user_func_array($function, $arguments); }); }