調(diào)試模式介紹3.0版本的調(diào)試模式開啟,必須在項(xiàng)目入口文件中添加常量APP_DEBUG定義,如下: 開啟調(diào)試模式后,你可能感覺不到什么變化,不管你信不信,調(diào)試模式已經(jīng)開啟了。因?yàn)?,新版的調(diào)試模式并沒有默認(rèn)開啟頁(yè)面Trace(這個(gè)功能在之前的版本是伴隨著調(diào)試模式自動(dòng)開啟的),現(xiàn)在頁(yè)面Trace功能是單獨(dú)設(shè)置的,哪怕你在部署模式下也可以單獨(dú)開啟頁(yè)面Trace信息顯示??傊?,當(dāng)你需要頁(yè)面Trace信息功能的時(shí)候,手動(dòng)配置開啟,例如: 它與是否開啟調(diào)試模式無(wú)關(guān)。那么,新版的調(diào)試模式到底有什么特點(diǎn)呢?我們來(lái)慢慢揭曉吧~ 調(diào)試配置說(shuō)到調(diào)試模式,首先需要了解如何進(jìn)行調(diào)試配置。雖然默認(rèn)的調(diào)試配置文件已經(jīng)可以滿足大多數(shù)情況的需求。如果你開啟了調(diào)試模式,系統(tǒng)會(huì)首先加載系統(tǒng)默認(rèn)的調(diào)試配置文件,位于ThinkPHP/Conf/debug.php,如果你沒有定義項(xiàng)目的調(diào)試配置文件的話,調(diào)試模式的參數(shù)就可以參考系統(tǒng)調(diào)試配置文件中的設(shè)置。默認(rèn)調(diào)試配置參數(shù)如下: 系統(tǒng)調(diào)試配置中設(shè)置了:
如果你覺得系統(tǒng)默認(rèn)的調(diào)試配置不能滿足你的需求,例如你想開啟頁(yè)面Trace信息顯示的話,可以增加項(xiàng)目的調(diào)試配置文件,例如: 項(xiàng)目調(diào)試配置文件中只需要添加和系統(tǒng)調(diào)試配置文件不同(增加或者修改)的參數(shù),然后保存到項(xiàng)目的Conf/debug.php即可。一旦項(xiàng)目關(guān)閉調(diào)試模式,調(diào)試配置文件(包括系統(tǒng)調(diào)試配置文件和項(xiàng)目調(diào)試配置文件)就會(huì)失效,所有在調(diào)試配置文件中的參數(shù)將不會(huì)再起作用。同時(shí),這個(gè)時(shí)候,系統(tǒng)又會(huì)按照慣例配置文件和項(xiàng)目配置文件中的參數(shù)配置來(lái)運(yùn)行,因此你要懂得如何區(qū)別使用項(xiàng)目配置文件和項(xiàng)目調(diào)試配置文件。 調(diào)試狀態(tài)應(yīng)用調(diào)試狀態(tài)是新版新提出的一個(gè)概念,作用是在開啟調(diào)試模式的狀態(tài)下,可以給項(xiàng)目設(shè)置不同的應(yīng)用狀態(tài),并自動(dòng)加載不同的項(xiàng)目配置文件??梢援?dāng)成是項(xiàng)目開發(fā)過(guò)程中的幾個(gè)階段,尤其是這些階段需要同時(shí)或者交叉運(yùn)行的時(shí)候,例如開發(fā)小組希望有自己的調(diào)試數(shù)據(jù)庫(kù)和調(diào)試信息,而測(cè)試小組又希望有一個(gè)干凈的測(cè)試環(huán)境,你不希望總是在更改項(xiàng)目配置文件或者調(diào)試配置文件。那么就可以為不同的階段設(shè)置不同應(yīng)用調(diào)試狀態(tài),并單獨(dú)定義不同的配置文件。應(yīng)用調(diào)試狀態(tài)的更改是通過(guò)設(shè)置APP_STATUS參數(shù),默認(rèn)的參數(shù)設(shè)置是debug,如果想在調(diào)試模式下面增加應(yīng)用狀態(tài),例如測(cè)試狀態(tài),則可以在項(xiàng)目配置文件中改變?cè)O(shè)置如下: 這樣的話,系統(tǒng)會(huì)自動(dòng)嘗試加載項(xiàng)目配置目錄下面的test.php 配置文件,可以在test配置文件中改變相關(guān)設(shè)置,例如改變測(cè)試數(shù)據(jù)庫(kù)的連接信息等等。總結(jié)通常情況下,調(diào)試配置文件里面可以進(jìn)行一些開發(fā)階段或者測(cè)試所需要的配置。例如,配置額外的數(shù)據(jù)庫(kù)連接用于調(diào)試,開啟日志寫入便于查找錯(cuò)誤信息、開啟頁(yè)面Trace輸出更多的調(diào)試信息等等,所有這些,一旦關(guān)閉調(diào)試模式,都會(huì)失效。由于調(diào)試模式?jīng)]有任何緩存,因此涉及到較多的文件IO操作和模板實(shí)時(shí)編譯,所以在開啟調(diào)試模式的情況下,性能會(huì)有一定的下降,但不會(huì)影響部署模式的性能。 |
|