前言
今天發(fā)現(xiàn)我們的某一個(gè)接口響應(yīng)時(shí)間很長(zhǎng),接口中執(zhí)行的代碼片段也很多,想分別看看不同的代碼片段分別所執(zhí)行的時(shí)間,所以就封裝了下面的這個(gè)類,也很方便使用。
源碼
<?php
declare (strict_types=1);
namespace app\util;
/**
* 程序運(yùn)行時(shí)間調(diào)試工具類
* 主要用途是獲取程序在指定代碼片段說(shuō)花費(fèi)的時(shí)間
* @example 請(qǐng)參考example方法
*
* @author hcg
* @email 532508307@qq.com
*/
class RunTimer
{
// 程序運(yùn)行開(kāi)始時(shí)間
private $StartTime = 0;
// 程序運(yùn)行結(jié)束時(shí)間
private $StopTime = 0;
// 程序運(yùn)行花費(fèi)時(shí)間
private $TimeSpent = 0;
// 程序運(yùn)行開(kāi)始
public function start()
{
$this->StartTime = microtime(true);
}
// 程序運(yùn)行結(jié)束
public function stop()
{
$this->StopTime = microtime(true);
}
// 程序運(yùn)行花費(fèi)的時(shí)間
public function spent()
{
// 返回獲取到的程序運(yùn)行時(shí)間差
$this->TimeSpent = $this->StopTime - $this->StartTime;
echo "程序運(yùn)行時(shí)間為:".number_format($this->TimeSpent * 1000, 4) . "毫秒\r\n";
}
// 本調(diào)試程序的一個(gè)常規(guī)使用示例
public static function example(){
// 實(shí)例化
$timer = new RunTimer();
$timer->start();
#需要執(zhí)行的代碼,我們這里簡(jiǎn)單的睡眠2秒,代表程序執(zhí)行花費(fèi)了2秒
sleep(2);
$timer->stop();
$timer->spent();
}
}