<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                調試模式并不能完全滿足我們調試的需要,有時候我們需要手動的輸出一些調試信息。除了本身可以借助一些開發工具進行調試外,ThinkPHP還提供了一些內置的調試工具和函數。例如,頁面Trace功能就是ThinkPHP提供給開發人員的一個用于開發調試的輔助工具。可以實時顯示當前頁面的操作的請求信息、運行情況、SQL執行、錯誤提示等,并支持自定義顯示。 默認頁面trace時 ![頁面Trace默認狀態](http://box.kancloud.cn/2015-05-10_554ef847ab67c.png) 展開的Trace效果 ![展開時的顯示](http://box.kancloud.cn/2015-05-10_554ef868b2c97.png) 頁面Trace功能對調試模式和部署模式都有效,不過只能用于有頁面輸出的情況(如果你的操作沒有任何輸出,那么可能頁面Trace功能對你幫助不大,你可能需要使用后面的調試方法)。 > 在部署模式下面,顯示的調試信息沒有調試模式完整,通常我們建議頁面Trace配合調試模式一起使用。 要開啟頁面Trace功能,需要在項目配置文件中設置: ~~~ // 顯示頁面Trace信息 'SHOW_PAGE_TRACE' =>true, ~~~ 該參數默認為關閉,開啟后并且你的頁面有模板輸出的話,頁面右下角會顯示ThinkPHP的LOGO: 我們看到的LOGO后面的數字就是當前頁面的執行時間(單位是秒) 點擊該圖標后,會展開詳細的頁面Trace信息,如圖: 頁面Trace框架有6個選項卡,分別是基本、文件、流程、錯誤、SQL和調試,點擊不同的選項卡會切換到不同的Trace信息窗口。 | 選項卡 | 描述 | |-----|-----| | 基本 | 當前頁面的基本摘要信息,例如執行時間、內存開銷、文件加載數、查詢次數等等。 | | 文件 | 詳細列出當前頁面執行過程中加載的文件及其大小。 | | 流程 | 會列出當前頁面執行到的行為和相關流程(待完善)。 | | 錯誤 | 當前頁面執行過程中的一些錯誤信息,包括警告錯誤。 | | SQL | 當前頁面執行到的SQL語句信息。 | | 調試 | 開發人員在程序中進行的調試輸出。 | 頁面Trace的選項卡是可以定制和擴展的,默認的配置為: ~~~ 'TRACE_PAGE_TABS'=>array( 'base'=>'基本', 'file'=>'文件', 'think'=>'流程', 'error'=>'錯誤', 'sql'=>'SQL', 'debug'=>'調試' ) ~~~ 也就是我們看到的默認情況下顯示的選項卡,如果你希望增加新的選項卡:用戶,則可以修改配置如下: ~~~ 'TRACE_PAGE_TABS'=>array( 'base'=>'基本', 'file'=>'文件', 'think'=>'流程', 'error'=>'錯誤', 'sql'=>'SQL', 'debug'=>'調試', 'user'=>'用戶' ) ~~~ 也可以把某幾個選項卡合并,例如: ~~~ 'TRACE_PAGE_TABS'=>array( 'base'=>'基本', 'file'=>'文件', 'think'=>'流程', 'error|debug|sql'=>'調試', 'user'=>'用戶' ) ~~~ 我們把剛才的用戶信息調試輸出到用戶選項卡,trace方法的用法如下: `trace($user,'用戶信息','user');` 第三個參數表示選項卡的標識,和我們在TRACE_PAGE_TABS中配置的對應。 默認情況下,頁面Trace窗口顯示的信息是不會保存的,如果希望保存這些trace信息,我們可以配置PAGE_TRACE_SAVE參數 `'PAGE_TRACE_SAVE'=>true` 開啟頁面trace信息保存后,每次的頁面Trace信息會以日志形式保存到項目的日志目錄中,命名格式是: 當前日期_trace.log,例如:12-06-21_trace.log 如果不希望保存所有的選項卡的信息,可以設置需要保存的選項卡,例如: `'PAGE_TRACE_SAVE' => array('base','file','sql');` 設置后只會保存base、file和sql三個選項卡的信息。 頁面Trace只能用于有頁面輸出的情況,但是trace方法可以用在任何情況,而且trace方法可以用于AJAX等操作。 Trace方法的格式: trace('變量','標簽','級別','是否記錄日志')例如: ~~~ $info = '測試信息'; trace($info,'提示'); ~~~ 如果希望把變量調試輸出到頁面Trace的某個選項卡里面,可以使用: ~~~ trace($info,'提示','user'); ~~~ 表示輸出到user選項卡,如果沒有指定選項卡的話,默認會輸出到debug選項卡。 trace方法也可以直接拋出異常,如果是輸出到ERR選項卡,并且開啟 `'TRACE_EXCEPTION'=>true` 的話, ~~~ trace($info,'錯誤','ERR'); ~~~ 會拋出異常。 有三種情況下,trace方法會記錄日志: 1. AJAX請求 1. SHOW_PAGE_TRACE為false,也就是頁面Trace關閉的情況下 1. trace方法的第四個參數為true 在這種情況下,trace方法的第三個參數就表示記錄的日志級別,通常包括: ~~~ 'ERR' // 一般錯誤: 一般性錯誤 'WARN' // 警告性錯誤: 需要發出警告的錯誤 'NOTIC' // 通知: 程序可以運行但是還不夠完美的錯誤 'INFO' // 信息: 程序輸出信息 'DEBUG' // 調試: 調試信息 'SQL' // SQL:SQL語句 ~~~ ## 斷點調試 憑借強大的頁面Trace信息功能支持,ThinkPHP可以支持斷點調試功能。 我們只需要在不同的位置對某個變量進行trace輸出即可,例如: ~~~ $blog = D("Blog"); $vo = $blog->create(); trace($vo,'create vo'); $vo = $blog->find(); trace($vo,'find vo'); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看