解析使用ThinkPHP应该掌握的调试手段

2015-01-24信息快讯网

本篇文章是对使用ThinkPHP应该掌握的调试手段进行了详细的分析介绍,需要的朋友参考下

使用ThinkPHP应该掌握的调试手段
经常看到有人问到findAll的返回数据类型是什么之类的问题,以及出错了不知道什么原因的情况,其实还是没有熟悉ThinkPHP内置的调试手段和方法,抛开IDE本身自带的调试方式不说,如果你正在用或者打算用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日志。

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');

 

preg_match_all使用心得分享
php curl_init函数用法
php使用curl检测网页是否被百度收录的示例分享
php使用百度翻译api示例分享
php缓冲 output_buffering和ob_start使用介绍
PHP内核探索:变量存储与类型使用说明
百度ping方法使用示例 自动ping百度
linux系统下php安装mbstring扩展的二种方法
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
修改apache配置文件去除thinkphp url中的index.php
利用浏览器的Javascript控制台调试PHP程序
浅析ThinkPHP中的pathinfo模式和URL重写
thinkphp的CURD和查询方式介绍
ThinkPHP利用PHPMailer实现邮件发送实现代码
如何使用FireFox插件FirePHP调试PHP
解析VS2010利用VS.PHP插件调试PHP的方法
thinkphp 一个页面使用2次分页的实现方法
数组与类使用PHP的可变变量名需要的注意的问题
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
php Xdebug的安装与使用详解
解析phpstorm + xdebug 远程断点调试
php常用Output和ptions/Info函数集介绍
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
使用array mutisort 实现按某字段对数据排序
360通用php防护代码(使用操作详解)
解析thinkphp基本配置 convention.php
解析mysql left( right ) join使用on与where筛选的差异
解析php中static,const与define的使用区别
thinkphp中连接oracle时封装方法无法用的解决办法
thinkphp 多表 事务详解
ThinkPHP的RBAC(基于角色权限控制)深入解析
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
基于Linux调试工具strace与gdb的常用命令总结
linux命令之调试工具strace的深入分析
如何使用Strace调试工具
php 调试利器debug_print_backtrace()
©2014-2024 dbsqp.com