使用ThinkPHP必须掌握的调试方法_PHP教程

php中文网
发布: 2016-07-13 10:31:06
原创
1291人浏览过

经常看到有人问到findall的返回数据类型是什么之类的问题,以及出错了不知道什么原因的情况,其实还是没有熟悉thinkphp内置的调试手段和方法,抛开ide本身自带的调试方式不说,如果你正在用或者打算用thinkphp开发的话,那么下面一些和调试thinkphp程序相关的方法你是应该要了解和掌握的。

1、在项目配置文件里面打开调试模式DEBUG_MODE,这样能够让你发现大部分的错误原因 。可能影响验证码的输出。

2、如果不想使用调试模式,可以单独开启页面Trace显示。发现很多人不想使用调试模式的原因居然是因为有页面Trace信息的输出,其实这里面有一个误区,以为调试模式就一定会有页面Trace,但其实调试模式和页面Trace没有必然的关系,只是因为打开调试模式后,系统默认的调试配置文件会开启页面Trace显示,所以你完全可以给项目单独定义调试配置文件。

3、使用系统定义的dump函数,该方法同var_dump可以输出任何类型的变量信息,而且更加有利于在浏览器里面查看,例如:

$User=D("User");
$list=$User->findAll();
dump($list);
登录后复制

4、页面Trace信息只能显示当前页面执行的sql语句,但无法查看ajax方式执行的后台操作里面的sql语句,所以你还可以开启sql日志记录SQL_DEBUG_LOG来记录每一条执行的sql语句,并且可以查看到每条sql语句的执行时间 sql日志文件位于Logs目录下面,会自动按日期来区分每天的sql日志。

青柚面试
青柚面试

简单好用的日语面试辅助工具

青柚面试 57
查看详情 青柚面试

立即学习PHP免费学习笔记(深入)”;

5、另外一个是在执行某个数据操作后怀疑sql执行有错误的话,可以使用模型类的getLastSql方法来查看上次执行的sql语句,以便分析具体的错误原因。例如:

$User=D("User");
$User->id=3;
$User->name='ThinkPHp';
$User->save();
echo $User->getLastSql();
//输出结果将为:update think_user set name='ThinkPHP' where id=3;
登录后复制

6、当需要调试某段代码的运行时间的时候,可以使用系统提供的debug_start($label)和debug_end($label)方法,例如:

debug_start('demo');
//这里是你的代码段.......debug_end('demo');
登录后复制

您可能感兴趣的文章

  • thinkphp模板中判断volist循环的最后一条记录
  • thinkphp页面跳转(successerror)如何设置跳转等待时间
  • thinkphp打印最后一条sql语句
  • thinkphp自动验证与自动填充无效的解决办法
  • thinkphp 的 Action 控制器中的系统常量总结
  • ThinkPHP中的查询技巧总结
  • ThinkPHP内置模板引擎的使用方法总结
  • thinkphp关闭缓存的方法

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/764142.htmlTechArticle经常看到有人问到findAll的返回数据类型是什么之类的问题,以及出错了不知道什么原因的情况,其实还是没有熟悉ThinkPHP内置的调试手段和...
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号