/** * Calculate time since start and return using defined pattern * @param digits number of decimals to calculate * @param pattern output pattern ("%s" is replaced by time) * @return time with microseconds since start, formatted using pattern */ function end($digits = null, $pattern = null) { self::$end = microtime(true); if (!preg_match("/[0-9]{1,3}/", $digits)) { $digits = self::$digits; } if (strpos($pattern, '%s') === false) { $pattern = self::$pattern; } self::$time = number_format(self::$end - self::$start, $digits); self::$output = str_replace('%s', self::$time, $pattern); if (strpos($pattern, '%r') !== false) { self::$requests = number_format(1 / self::$time, self::$req_digits); self::$output = str_replace('%r', self::$requests, self::$output); } return self::$output; }