【小(xiǎo)編推薦】ThinkPHP3.2——調™'>試模式

2014-06-26   |&‍₩​∏nbsp;  發布者:梁國(guó)芳& £©nbsp;  |   "↑™查看(kàn):3320次

Thinkphp

ThinkPHP有(yǒu)專門(mén)為(wèi)開(kā‍✔←πi)發過程而設置的(de)調試模式,開(kāi)啓調試模式後,€‌會(huì)犧牲一(yī)定的(de)執行(xíng)效率,但(dànΩ₩≠)帶來(lái)的(de)方便和(hé)除錯(cuò)功能(néng)非•α常值得(de)。

我們強烈建議(yì)ThinkPHP開(kā↑π i)發人(rén)員(yuán)在開(kāi)發階段始終開≤¶¶‍(kāi)啓調試模式(直到(dào)正式部署後α≈‍關閉調試模式),方便及時(shí)發現(xiàn‌≠Ω)隐患問(wèn)題和(hé)分(fēn)析、 →解決問(wèn)題。

開(kāi)啓調試模式很(hěn)簡單,隻需要(yào)在入£δ>÷口文(wén)件(jiàn)中增加一(yī)行(xíng‍☆™÷)常量定義代碼:

  1. <?php
  2. // 開(kāi)啓調試模式
  3. define('APP_DEBUG', true);
  4. // 定義應用(yòng)目錄
  5. define('APP_PATH', './Application/');
  6. // 加載框架入口文(wén)件(jiàn)
  7. require './ThinkPHP/ThinkPHP.php';

在完成開(kāi)發階段部署到(dào)生(shēng)産環境後<¶₩™,隻需要(yào)關閉調試模式或者删除調試模式定義代碼即可(kě)切換到↔₽∏¶(dào)部署模式。

  1. <?php
  2.  // 關閉調試模式
  3.  define('APP_DEBUG', false);
  4.  // 定義應用(yòng)目錄
  5.  define('APP_PATH', './Application/');
  6.  // 加載框架入口文(wén)件(jiàn)
  7.  require './ThinkPHP/ThinkPHP.p✔≈hp';
調試模式的(de)優勢在于:

在開(kāi)啓調試模式的(de)狀态下(xià),系統會(huì)首先導入框♦↓架默認的(de)調試模式配置文(wén)件(jià₽≈→n),該文(wén)件(jiàn)位于系統目錄的(de)Conf\debug.php

通(tōng)常情況下(xià),調試配置文(wé♣₽n)件(jiàn)裡(lǐ)面可(kě)以進行(xíng)一(yī)些(xiēΩ♥ $)開(kāi)發模式所需要(yào)的(de)₩σ配置。例如(rú),配置額外(wài)的(de)數(shù)據庫連接用(yò®∞≤ng)于調試,開(kāi)啓日(rì)志(÷&♠zhì)寫入便于查找錯(cuò)誤信息、開(kāi)啓頁面Trace輸出•∞✔δ更多(duō)的(de)調試信息等等。

如(rú)果檢測到(dào)應用(yòng)的(de)配置目錄中有(yǒuπ♥‌)存在debug.php文(wén)件(jià≤<>n),則會(huì)自(zì)動加載該配置文(wé↕'πn)件(jiàn),并且和(hé)系統項目配置文(↓'₹wén)件(jiàn)以及系統調試配置文(ε€λ wén)件(jiàn)合并,也(yě)就<→‌(jiù)是(shì)說(shuō),deb<$αug.php配置文(wén)件(jiàn)隻需要(yào)配置↓•β<和(hé)項目配置文(wén)件(jiàn)以及系統調試配​©置文(wén)件(jiàn)不(bù)同的(de)參>αα✘數(shù)或者新增的(de)參數(shù)。

由于調試模式沒有(yǒu)任何緩存,因此涉及到(dào✔β)較多(duō)的(de)文(wén)件(jiàn)IO操©¶作(zuò)和(hé)模闆實時(shí)編譯,所以在開(kāγ•☆i)啓調試模式的(de)情況下(xià),性能(néng)會(hu★↓>ì)有(yǒu)一(yī)定的(de)下(xià)降,但('α✔§dàn)不(bù)會(huì)影(yǐng)響部署模式的(d☆₩e)性能(néng)。另外(wài)需要(yào)注π±意的(de)是(shì),一(yī)旦關閉調試模式,項目的(de)調試配置文(↑∞wén)件(jiàn)即刻失效。

一(yī)旦關閉調試模式,發生(shēng)錯(cuò)誤後不(bù)會(h©‍'uì)提示具體(tǐ)的(de)錯(cuò)誤'♣>'信息,如(rú)果你(nǐ)仍然希望看(kàn)到(dào)具體(tǐ)的(β•₹♣de)錯(cuò)誤信息,那(nà)麽可(kě)以如(r <‍ú)下(xià)設置:

  1. 'SHOW_ERROR_MSG' => true, // 顯示錯(cuò)誤信息