php 程序運(yùn)行時(shí)間調(diào)試工具類封裝

前言

今天發(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();
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容