【小(xiǎo)編推薦】ThinkPHP3.≤↔$®2——頁面Trace

2014-06-26   | &™→•φnbsp; 發布者:梁國(guó)✘£ ¶芳   |  •®★≠ 查看(kàn):3320次

Thinkphp

調試模式并不(bù)能(néng)完全滿足我們調試的(de)需要☆™φ(yào),有(yǒu)時(shí)候我們需要(yào)✔÷手動的(de)輸出一(yī)些(xiē)調試信息。除了(le)本身(s♥δ©hēn)可(kě)以 借助一(yī)些(xiē)開(kāi)發工(gōn↑&g)具進行(xíng)調試外(wài),T♦$∑βhinkPHP還(hái)提供了(le)一∏<♣∑(yī)些(xiē)內(nèi)置的(de)調試工(gōng)具↓₹和(hé)函數(shù)。例如(rú),頁面♥&λTrace功能(néng)就(jiù)是(shì)ThinkPHP提供 ±©✔給開(kāi)發人(rén)員(yuán)的(de≤Ω♥)一(yī)個(gè)用(yòng) 于開(kāi)發調試₽↕γ‌的(de)輔助工(gōng)具。可(kě)以實時(shí)顯示當前頁面的'®(de)操作(zuò)的(de)請(qǐng)求信息、運行(xíng)情☆★•$況、SQL執行(xíng)、錯(cuò)誤提示等,并♣₹ 支持自(zì)定義顯示。

頁面Trace功能(néng)對(duì)調試模¶δ式和(hé)部署模式都(dōu)有(yǒu)效,不(bù)過隻能(néngΩε€)用(yòng)于有(yǒu)頁面輸出的(♦'de)情況(如(rú)果你(nǐ)的(de)操作(zuò)沒有(yǒ♣↑φ→u)任何輸出,那(nà)麽可(kě)能(néng)頁面Trace功能(↔♠Ω$néng)對(duì)你(nǐ)幫助不(bù)大(dà),你∞♠<∑(nǐ)可(kě)能(néng)需要(yào)使用(yònΩ↓©≥g)後面的(de)調試方法)。

在部署模式下(xià)面,顯示的(de)調試信息沒有(y¥‌λǒu)調試模式完整,通(tōng)常我們建議(yì)頁面Trace配☆φ×∞合調試模式一(yī)起使用(yòng)。

要(yào)開(kāi)啓頁面Trace功能(néng),需要(yàε÷o)在項目配置文(wén)件(jiàn)中設置:

  1. // 顯示頁面Trace信息
  2. 'SHOW_PAGE_TRACE' =>true,

該參數(shù)默認為(wèi)關閉,開(kāi)啓後并且你(φ‌nǐ)的(de)頁面有(yǒu)模闆輸出的(de)話(huà​ '↔),頁面右下(xià)角會(huì)顯示ThinkPHP₽​₽↑的(de)LOGO:

我們看(kàn)到(dào)的(de)LOGO₹↕後面的(de)數(shù)字就(jiù)是(shì)當前頁∏‌面的(de)執行(xíng)時(shí)間(jiān)(​§©β單位是(shì)秒(miǎo)) 點擊該圖标後,"λ>會(huì)展開(kāi)詳細的(de)頁面Trace信息 ®↔,如(rú)圖:

頁面Trace框架有(yǒu)6個(gè)選項卡,分(♠"↕≤fēn)别是(shì)基本、文(wén)↔ 件(jiàn)、流程、錯(cuò)誤、SQL和(↔©hé)調試,點擊不(bù)同的(de)選項卡會(h&'uì)切換到(dào)不(bù)同的(de)Trace信息窗(chuāng)口'♥♠•。

選項卡 描述
基本 當前頁面的(de)基本摘要(yào)信息,例如♠♣β(rú)執行(xíng)時(shí)間(j™↑iān)、內(nèi)存開(kāi)銷、文(wé  '±n)件(jiàn)加載數(shù)、查詢次數(shù)等等。≈₹
文(wén)件(jiàn) 詳細列出當前頁面執行(xíng)過程中加載的(de)文(wén)件(≠¶jiàn)及其大(dà)小(xiǎo)。
流程 會(huì)列出當前頁面執行(xíng)到(dào)的(de♠δ♠)行(xíng)為(wèi)和(hé)相(xiàng↔☆)關流程(待完善)。
錯(cuò)誤 當前頁面執行(xíng)過程中的(de)一(yī)←♦些(xiē)錯(cuò)誤信息,包括警告錯(cε$λuò)誤。
SQL 當前頁面執行(xíng)到(dào)的(de)SQL語句信息•↑♥。
調試 開(kāi)發人(rén)員(yuán)在程序中進行(xíng)的(de)調λφ<≥試輸出。

頁面Trace的(de)選項卡是(shì)可(‌₽¶∞kě)以定制(zhì)和(hé)擴展的(de)​γ,默認的(de)配置為(wèi):

  1. 'TRACE_PAGE_TABS'=>array(
  2. 'base'=>'基本',
  3. 'file'=>'文(wén)件(jiàn)',
  4. 'think'=>'流程',
  5. 'error'=>'錯(cuò)誤',
  6. 'sql'=>'SQL',
  7. 'debug'=>'調試'
  8. )

也(yě)就(jiù)是(shì)我們看(kàn₹¶×÷)到(dào)的(de)默認情況下(xià)顯>£示的(de)選項卡,如(rú)果你(nǐ)希望增≈™♦Ω加新的(de)選項卡:用(yòng)戶,則可(kě)以修改配置如(♥>rú)下(xià):

  1. 'TRACE_PAGE_TABS'=>array(
  2. 'base'=>'基本',
  3. 'file'=>'文(wén)件(jiàn)',
  4. 'think'=>'流程',
  5. 'error'=>'錯(cuò)誤',
  6. 'sql'=>'SQL',
  7. 'debug'=>'調試',
  8. 'user'=>'用(yòng)戶'
  9. )

也(yě)可(kě)以把某幾個(gè)選項卡合并,例如(rú):

  1. 'TRACE_PAGE_TABS'=>array(
  2. 'base'=>'基本',
  3. 'file'=>'文(wén)件(jiàn)',
  4. 'think'=>'流程',
  5. 'error|debug|sql'=>'調試',
  6. 'user'=>'用(yòng)戶'
  7. )

我們把剛才的(de)用(yòng)戶信息調試輸出到(dào)用(yò¥αng)戶選項卡,trace方法的(de)用(yòng)法如(rú)‌¥γ©下(xià):

trace($user,'用(yòng)戶信息','user');

第三個(gè)參數(shù)表示選項卡的&♥ γ(de)标識,和(hé)我們在TRACE_PAGE_TABS'™∞中配置的(de)對(duì)應。 默認情況下(δ>&$xià),頁面Trace窗(chuāng)口顯示的(d< 'πe)信息是(shì)不(bù)會(huì)★π↕¶保存的(de),如(rú)果希望保存這(zhè✘λ)些(xiē)trace信息,我們可(kě)以配置PAGE_×‌TRACE_SAVE參數(shù)

'PAGE_TRACE_SAVE'=>true

開(kāi)啓頁面trace信息保存後,每次♦≤的(de)頁面Trace信息會(huì)以日(rì)志(zhì) ♦★☆形式保存到(dào)項目的(de)日(rì)志(z₹®hì)目錄中,命名格式是(shì): 當前日(rì)期_trace.log,例♠™★¶如(rú):12-06-21_trace.log

如(rú)果不(bù)希望保存所有(yǒu)的(de)選項卡的(de)信息,₹✘✔↔可(kě)以設置需要(yào)保存的(de)選項卡,例÷←如(rú):

'PAGE_TRACE_SAVE' =>Ωφ ; array('base','file','sql');

設置後隻會(huì)保存base、file和(h→★★é)sql三個(gè)選項卡的(de)信息。