Thinkphp调试主要有以下四种方法
(一).跟踪信息
(二).两种模式
(三).sql调试
(四).性能调试
下面就来一一介绍:
1.跟踪信息(SHOW_PAGE_TRACE)
跟踪信息需要在当前模块中设置,在主配置文件中不存在,默认是关闭(false),使用时要开启(true);
开启之后运行程序就会有跟踪信息在页面下面出现跟踪信息
点击这个小图标就会显示更多的信息,框架加载的时间以及加载的文件等一目了然。
2.两种模式(APP_DEBUG)
所谓两种模式,就是指开发(调试)模式和生产模式。
开发模式:在开发调试阶段使用。
生产模式:在项目上线时使用。
在入口文件中开启APP_DEBUG
开启APP_DEBUG后,跟踪信息如下
关闭APP_DEBUG,跟踪信息如下
可以看到,在开启APP_DEBUG后,程序的执行时间大幅度降低,但是内开销和文件的加载数目要比关闭APP_DEBUG时多一点。
总结:生产模式下文件的加载数会变小,系统函数库不会加载,系统的配置文件,应用配置文件不会加载,但是会多一个缓存文件,没有加载的
文件都会放在这个缓存文件中。生产模式下使用缓存文件,效率上要比调试模式高。如果在生产模式下修改配置文件,应用配置文件,系统函数
库都不会生效,,因为在生产模式中上述文件没有加载。如果想让它生效,可以删除缓存文件或者开启APP_DEBUG去修改,完成后换回生产模
式。
3.sql调试
Thinkphp在执行CURD操作是让开发者写方法,并不是很直观的展现sql。使用
获取最后一条执行成功的sql语句。在3.2版本之后,getlastsql()可以写成_sql
4.性能调试
G()方法:
语法:
G('begin','end') 表示统计begin位置到end位置的执行时间(单位是秒),begin必须是一个已经标记过的位置,如果这个时候end位置还没被标记
过,则会自动把当前位置标记为end标签,输出的结果类似于:0.0056s
手册也有说明,如下图
网友评论