在針對ecshop或ectouch的二次開發中開啓調試模式能夠大大增長開發效率,開啓方法以下:
一、ectouch中開啓調試模式
在\mobile\include\Convention.php中找到'DEBUG'=> false,修改成'DEBUG'=> true,。這步完成只是可以顯示頁面錯誤信息,若須要禁用緩存,則須要在\mobile\include\EcTouch.php中 添加defined('DEBUG_MODE') or define('DEBUG_MODE',2);
禁用緩存
寫入錯誤日誌(\mobile\data\log.txt)
寫入SQL查詢日誌
二、ecshop中開啓調試模式
在/data/config.php添加代碼define('DEBUG_MODE',7);,參數以下:
禁用
在頁面中顯示全部錯誤
禁用Smarty模板緩存
使用lib.debug.php類
寫入SQL查詢日誌
如上參數爲7時, 7=4+2+1,即在頁面中顯示全部錯誤、禁用緩存及使用debug類。
在使用debug類是可能遇到Deprecated:Assigning the return value of new by reference is deprecated in D:\**\**\includes\lib.debug.php on line 303錯誤,即按照提示在\includes\lib.debug.php文件中303行找到代碼:
$pa = &new Print_a_class;
去掉&,改成以下代碼便可:
$pa = new Print_a_class;
緣由是 php5.3之後廢除了=&,直接使用=賦值(默認爲引用賦值)。php
在ecshop中咱們要調試的時候常常使用緩存
var_dump($val);函數
die();spa
來輸出查看變量。可是當變量過多的時候,就會顯示不全,這時候咱們會考慮使用print_rdebug
print_r($val);調試
die();日誌
可是,這樣輸出的內容不是很工整,所以咱們想要格式化一下它,因此修改成:開發
echo "<pre>";it
print_r($val);io
echo "</pre>";
die();
這樣子,咱們就能夠很好的查看各個變量了,可是咱們不想每次都寫得這麼麻煩,所以咱們能夠封裝本身的打印變量函數dump_die()
function dump_die($val)
{
echo "<pre>";
print_r($val);
echo "</pre>";
die();
}
之後當咱們要查看變量的時候就可使用這個函數來查看了,如今的問題是這個函數放在哪 裏,難道咱們每次都在搖調試的文件裏面寫入這個函數,仍是每次調試的時候都引入寫這個函數的文件,其實,ecshop裏面有個寫全局函數的位置,那就是 includes/init.php 這個文件,它是ecshop初始化的文件,咱們把函數放到這裏面,就能夠直接在任何地方調用咱們本身的打印函數了。