您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.2.1学习笔记-调试模式
发布时间:2017-09-19 12:13:04编辑:雪饮阅读()
调试模式在项目入口文件index.php中配置开启。
手工抛错:
E("错误");
记录语句执行时间:
//开始计时
G('begin');
$user=D('User');
$list=$user->select();
$this->assign('list',$list);
$this->display();
//结束计时
G('end');
//输出语句运行总时间
echo "共耗时:".G('begin','end')."秒";
获取语句执行的内存开销:
//如果你的环境不支持内存消耗测试,那么将会以运行的时间作为输出结果
echo '内存开销:'.G('begin','end','m').'kb';
数据格式化dump方法:
thinkphp3.2.1所提供的dump方法可以将数据格式化效果和pre与print_r结合的效果一样:
dump($list);
dump关闭打印:
dump方法默认是输出到页面的,也就是他的第二个参数默认是true,当设置为false则不会打印:
dump($list,false);
dump的第三、第四参数:
//第三个参数为该数组设置一个键名,打印结果于数组最外层。相当于将数组作为了第二维的值了。
//第四个参数决定是否使用print_r的格式化方式打印,当值为false时有效。
dump($list,true,'abc',false);
系统日志功能:
当有错误发生时就会自动将错误日志记录在应用目录下的Runtime/Logs目录中。
手工写入日志:
//默认是一般性错误,即日志内容前缀为”ERR”
Log::record('手工日志');
手工写入日志并自定义写入日志的内容前缀:
//第二个参数可以设置日志的错误级别
Log::record('手工日志','WARN');
忽略运行的日志记录级别列表进行强制写入不存在该列表的错误级别的日志:
如上面的WARN仅仅是在index.php中的调试模式开启的时候能写入,如果调试模式关闭,即部署模式时是无法写入的。部署模式遵循运行的日志记录级别列表中的级别才可以写入。该列表可以在配置文件中进行配置,即便你没有配置那么默认为:
//运行的日志记录级别
'LOG_LEVEL'=>'EMERG,ALERT,CRIT,ERR',
而record方法的第三个参数决定了是否忽略列表中的级别限制进行写入即强制写入。
Log::record('手工日志','WARN',true);
不受配置文件影响的手工日志写入,也是强制写入:
Log::write('手工写入','WARN');
自定义页面TRACE调试控制台:
//设置要显示的调试模块
'TRACE_PAGE_TABS'=>array(
'base'=>'基本',
'file'=>'文件',
'think'=>'流程',
'error'=>'错误',
'sql'=>'SQL',
'debug'=>'调试'
),
默认是6个都显示,这里可调整数组结构来增加调试选项或减少调试选项。
对于减少调试选项没有什么可以说的。而对于增加调试选项则要结合调试方法来加以说明。
调试方法trace:
//默认情况下该语句执行结果将会在”调试”的选项中以”提示”为该条调试记录的内容前缀,”出现错误”为信息内容。
trace("出现错误了","提示");
如果上面显示的调试模块中新增一个模块如:
'other'=>'其它',
而trace的第三个参数是可以指定调试信息要显示的模块的,那么:
trace("出现错误了","提示","other");
则调试信息就会显示在“其它”选项中了。
关键字词:thinkphp3.2.1,调试