長期以來ThinkPHP都是需要通過debug_start、debug_end方法甚至Debug類才能完成那些調試的功能,而在ThinkPHP3.1版本中,這些復雜的功能被一個簡單的G方法取代了,這不可不謂是一次華麗升級。
G方法的作用包括標記位置和區間統計兩個功能,下面來看下具體用法:
1.標記位置
G方法的第一個用法就是標記位置,例如:
G('begin');
表示把當前位置標記為begin標簽,並且記錄當前位置的執行時間,如果環境支持的話,還能記錄內存占用情況。可以在任何位置調用G方法標記。
2.運行時間統計
標記位置後,我們就可以再次調用G方法進行區間統計了,例如:
G('begin'); // ...其他代碼段 G('end'); // ...也許這裡還有其他代碼 // 進行統計區間 echo G('begin','end').'s';
G('begin','end') 表示統計begin位置到end位置的執行時間(單位是秒),begin必須是一個已經標記過的位置,如果這個時候end位置還沒被標記過,則會自動把當前位置標記為end標簽,輸出的結果類似於:
0.0056s
默認的統計精度是小數點後4位,如果覺得這個統計精度不夠,還可以設置例如:
G('begin','end',6).'s';
可能的輸出會變成:
0.005587s
3.內存開銷統計
如果你的環境支持內存占用統計的話,還可以使用G方法進行區間內存開銷統計(單位為kb),例如:
echo G('begin','end','m').'kb';
第三個參數使用m表示進行內存開銷統計,輸出的結果可能是:
625kb
同樣,如果end標簽沒有被標記的話,會自動把當前位置先標記為end標簽。
如果環境不支持內存統計,則該參數無效,仍然會進行區間運行時間統計。
忘掉debug_start、debug_end吧,大道至簡,你懂的~