ThinkPHP3.0完全开发手册                                           

 

11.2               页面Trace

页面Trace功能是ThinkPHP提供给开发人员的一个用于开发调试的辅助手段。可以实时显示当前页面的操作的请求信息、运行情况、SQL执行、错误提示等,并支持自定义显示。

页面Trace功能无论是调试模式还是部署模式都有效,要开启页面Trace功能,需要在项目配置文件中设置:

'SHOW_PAGE_TRACE'        =>true,   // 显示页面Trace信息

系统默认的Trace信息包括:请求时间、当前页面、请求协议、运行信息、会话ID、日志记录和文件加载情况。默认的页面Trace的显示如图所示:

新版的页面Trace信息显示中已经包含了运行状态时间显示,所以开启页面Trace功能后无需再开启运行时间显示了。我们的建议是运行时间显示功能用于部署模式需要的时候开启。

Trace页面定制

页面Trace信息的显示模板是可以定制的,默认位于系统目录的Tpl/page_trace.tpl,可以根据项目自身的需要定制,更改TMPL_TRACE_FILE进行配置即可。

例如:

'TMPL_TRACE_FILE' => APP_PATH.'Public/trace.php'

关键的输出代码是:

<?php $_trace = trace(); foreach ($_trace as $key=>$info){

echo $key.' : '.$info.'<br/>';

}?>

 

Trace信息定制

如果需要扩展自己的Trace信息,有下面几种方式:

第一种方式:在当前项目的配置目录下面定义 trace.php 文件,返回数组方式的定义,例如:

return array(

'当前页面'=>$_SERVER['PHP_SELF'],

'通信协议'=>$_SERVER['SERVER_PROTOCOL'],...

);

在显示页面Trace信息的时候会把这个部分定义的信息合并到系统默认的Trace信息,所以不需要再添加系统默认的页面trace信息,这种方式通常用于Trace项目的公共信息。

 

第二种方式:在Action方法里面使用trace方法来增加Trace信息,该部分可以用于系统的开发阶段调试。例如:

trace('执行时间',$runTime);

trace('Name的值',$name);

trace('GET变量',dump($_GET,false));

trace方法支持批量设置,例如:

$info['执行时间']=$runTime;

$info['Name的值'] = $name;

$info['GET变量']=dump($_GET,false);

trace($info);

这种方式的trace信息显示在页面Trace信息的最开始。


NetPc