ThinkPHP3.1新特性之G方法的使用
長期以來ThinkPHP都是需要通過debug_start、debug_end方法甚至Debug類才能完成那些調(diào)試的功能,而在ThinkPHP3.1版本中,這些復(fù)雜的功能被一個簡單的G方法取代了,這不可不謂是一次華麗升級。
G方法的作用包括標(biāo)記位置和區(qū)間統(tǒng)計兩個功能,下面來看下具體用法:
1.標(biāo)記位置
G方法的第一個用法就是標(biāo)記位置,例如:
G('begin');
表示把當(dāng)前位置標(biāo)記為begin標(biāo)簽,并且記錄當(dāng)前位置的執(zhí)行時間,如果環(huán)境支持的話,還能記錄內(nèi)存占用情況??梢栽谌魏挝恢谜{(diào)用G方法標(biāo)記。
2.運行時間統(tǒng)計
標(biāo)記位置后,我們就可以再次調(diào)用G方法進(jìn)行區(qū)間統(tǒng)計了,例如:
G('begin'); // ...其他代碼段 G('end'); // ...也許這里還有其他代碼 // 進(jìn)行統(tǒng)計區(qū)間 echo G('begin','end').'s';
G('begin','end') 表示統(tǒng)計begin位置到end位置的執(zhí)行時間(單位是秒),begin必須是一個已經(jīng)標(biāo)記過的位置,如果這個時候end位置還沒被標(biāo)記過,則會自動把當(dāng)前位置標(biāo)記為end標(biāo)簽,輸出的結(jié)果類似于:
0.0056s
默認(rèn)的統(tǒng)計精度是小數(shù)點后4位,如果覺得這個統(tǒng)計精度不夠,還可以設(shè)置例如:
G('begin','end',6).'s';
可能的輸出會變成:
0.005587s
3.內(nèi)存開銷統(tǒng)計
如果你的環(huán)境支持內(nèi)存占用統(tǒng)計的話,還可以使用G方法進(jìn)行區(qū)間內(nèi)存開銷統(tǒng)計(單位為kb),例如:
echo G('begin','end','m').'kb';
第三個參數(shù)使用m表示進(jìn)行內(nèi)存開銷統(tǒng)計,輸出的結(jié)果可能是:
625kb
同樣,如果end標(biāo)簽沒有被標(biāo)記的話,會自動把當(dāng)前位置先標(biāo)記為end標(biāo)簽。
如果環(huán)境不支持內(nèi)存統(tǒng)計,則該參數(shù)無效,仍然會進(jìn)行區(qū)間運行時間統(tǒng)計。
忘掉debug_start、debug_end吧,大道至簡,你懂的~
相關(guān)文章
PHP使用GIFEncoder類生成的GIF動態(tài)圖片驗證碼
這篇文章主要介紹了PHP使用GIFEncoder類生成的GIF動態(tài)圖片驗證碼,文中附帶GIFEncoder類源碼,需要的朋友可以參考下2014-07-07Dwz與thinkphp整合下的數(shù)據(jù)導(dǎo)出到Excel實例
這篇文章主要介紹了Dwz與thinkphp整合下的數(shù)據(jù)導(dǎo)出到Excel的方法,是結(jié)合jQuery與ThinkPHP框架實現(xiàn)的導(dǎo)出Excel技巧,非常具有實用價值,需要的朋友可以參考下2014-12-12PHP設(shè)計模式入門之迭代器模式原理與實現(xiàn)方法分析
這篇文章主要介紹了PHP設(shè)計模式入門之迭代器模式原理與實現(xiàn)方法,結(jié)合實例形式分析了PHP迭代器模式基本概念、原理、實現(xiàn)方法及操作注意事項,需要的朋友可以參考下2020-04-04PHP 設(shè)計模式系列之 specification規(guī)格模式
規(guī)格模式是組合模式的一種擴(kuò)展,在框架性開發(fā)中使用較多(項目級開發(fā)很少使用),通過本文給大家介紹PHP 設(shè)計模式系列之 specification規(guī)格模式,對specification模式相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2016-01-01