thinkphp的调试方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp的调试方案相关的知识,希望对你有一定的参考价值。

hink php提供一种页面调试方案,Trace。

使用这种调试方案只需要在配置文件中使用下面这句话:

‘SHOW_PAGE_TRACE‘ =>true

效果如下:

技术分享

 

在每一个页面的右下角,都会有这样一个按钮,你可以点开:

 

技术分享

 

这里面有很多页面信息。

 

具体显示哪些信息是你可以自行配置的,配置方法是:

 1 ‘TRACE_PAGE_TABS‘=>array(
 2 ‘base‘=>‘基本‘,
 3 ‘file‘=>‘文件‘,
 4 ‘think‘=>‘流程‘,
 5 ‘error‘=>‘错误‘,
 6 ‘sql‘=>‘SQL‘,
 7 ‘debug‘=>‘调试‘,
 8 ‘user‘=>‘用户‘
 9 )
10 or:
11 ‘TRACE_PAGE_TABS‘=>array(
12 ‘base‘=>‘基本‘,
13 ‘file‘=>‘文件‘,
14 ‘think‘=>‘流程‘,
15 ‘error|debug|sql‘=>‘调试‘,
16 ‘user‘=>‘用户‘
17 )

你可以看出,上面的调试信息中,user并没有在实际页面中显示出来,那个是自定义的调试信息,使用方法是这样的:你可以在任何你所调用的程序中使用trace函数

1 trace($user,‘用户信息‘,‘user‘);
2 trace("程羽蒙","大帅哥",‘user‘);

默认情况下,trace信息是不会被保存的,但是你可以使用下面的配置项保存trace信息:

‘PAGE_TRACE_SAVE‘=>true

 

开启页面trace信息保存后,每次的页面Trace信息会以日志形式保存到项目的日志目录中,命名格式是:
当前日期_trace.log

 

 如果你只希望保存部分trace信息,可以使用类似如下的配制方法:

‘PAGE_TRACE_SAVE‘ => array(‘base‘,‘file‘,‘sql‘);

 

trace函数有四个参数,这里给出trace函数的源代码:

1 function trace($value=‘[think]‘,$label=‘‘,$level=‘DEBUG‘,$record=false) {
2     return Think\Think::trace($value,$label,$level,$record);
3 }

基于上面的trace方案,你可以做很多断电调试。除此之外,think php 提供了另外一种高效的调试方案类似于php里面的var_dump和print_r叫做dump函数,使用这个函数可以把变量在页面底端打印出来。

基于dump函数你可以做很多事情,比如说可以把页面的异常信息全部打印出来:

1 dump(E(‘error‘));

上面代码的效果是:

技术分享

 

除此之外,还有一种叫做模型调试的方案,类似于java中捕获之前抛出的异常,不过二者略有差别。

以上是关于thinkphp的调试方案的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP之addsave无法添加修改的解决方案

解决ThinkPHP关闭调试模式时报错的问题汇总

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

thinkphp5性能调试

thinkphp 3.2 去除调试模式后报错,怎么解决

PHP代码-psysh调试代码片段工具