ThinkPHP3.0完全开发手册
页面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信息的最开始。