12
Jul.2016
ECShop二次开发中需要开启调试模式才能更方便的显示输出值,那么如何开启ECShop的调试模式,下面将写出具体方法:
在includes/cls_template.php中找到如下代码:
function _eval($content)
{
ob_start();
eval('?' . '>' . trim($content));
$content = ob_get_contents();
ob_end_clean();
return $content;
}
修改为:
function _eval($content)
{
ob_start();
eval('?' . '>' . trim($content));
$content = ob_get_contents();
ob_end_clean();
echo($content); //开启调试模式,生产环境下记得关闭,注释掉本行即可
return $content;
}
在ecshop中我们要调试的时候就可以使用:
var_dump($val);
die();
来输出查看变量。但是当变量过多的时候,就会显示不全,这时候我们会考虑使用print_r
print_r($val);
die();
但是,这样输出的内容不是很工整,因此我们想要格式化一下它,所以修改为:
echo "<pre>";
print_r($val);
echo "</pre>";
die();
这样子,我们就可以很好的查看各个变量了,但是我们不想每次都写得这么麻烦,因此我们可以封装自己的打印变量函数dump_die()
/* 封装自己的调试模式下打印变量函数dump_die() by husw 2016/7/12 */
function dump_die($val){
echo "<pre>";
print_r($val);
echo "</pre>";
die();
}
以后当我们要查看变量的时候就可以使用这个函数来查看了。 把这个函数写在ecshop的全局函数includes/init.php这个文件里,它是ecshop初始化的文件,我们把函数放到这里面,就可以直接在任何地方调用我们自己的打印函数了。
在includes/cls_template.php中找到如下代码:
function _eval($content)
{
ob_start();
eval('?' . '>' . trim($content));
$content = ob_get_contents();
ob_end_clean();
return $content;
}
修改为:
function _eval($content)
{
ob_start();
eval('?' . '>' . trim($content));
$content = ob_get_contents();
ob_end_clean();
echo($content); //开启调试模式,生产环境下记得关闭,注释掉本行即可
return $content;
}
在ecshop中我们要调试的时候就可以使用:
var_dump($val);
die();
来输出查看变量。但是当变量过多的时候,就会显示不全,这时候我们会考虑使用print_r
print_r($val);
die();
但是,这样输出的内容不是很工整,因此我们想要格式化一下它,所以修改为:
echo "<pre>";
print_r($val);
echo "</pre>";
die();
这样子,我们就可以很好的查看各个变量了,但是我们不想每次都写得这么麻烦,因此我们可以封装自己的打印变量函数dump_die()
/* 封装自己的调试模式下打印变量函数dump_die() by husw 2016/7/12 */
function dump_die($val){
echo "<pre>";
print_r($val);
echo "</pre>";
die();
}
以后当我们要查看变量的时候就可以使用这个函数来查看了。 把这个函数写在ecshop的全局函数includes/init.php这个文件里,它是ecshop初始化的文件,我们把函数放到这里面,就可以直接在任何地方调用我们自己的打印函数了。
