ThinkPHP 调试配置
调试功能一直伴随着系统的整个开发过程,开启调试模式能有效的检查并排除项目开发过程中的问题及错误,而 ThinkPHP 3.0 增强了调试功能。
开启调试模式,首先在入口文件打开调试开关:
//开启调试模式 define('APP_DEBUG',true);
然后需要配置调试文件,该文件位于项目配置目录下,默认名字为 debug.php:
<?php return array( // 开发环境配置信息 'DB_TYPE' =>'mysql', 'DB_HOST' =>'localhost', 'DB_NAME' =>'mydb', 'DB_USER' =>'root', 'DB_PWD' =>'root123', 'DB_PORT' =>'3306', 'DB_PREFIX' =>'my_', ); ?>
配置完调试配置文件之后,调试模式就配置成功了。我们可以将开发环境的一些配置信息写入调试文件内,而项目配置文件保留正式生产环境的配置文件,以避免两个环境之间切换的问题。当然还可以根据实际需要,加入其他需要的调试配置参数。
最后需要注意的是,与 2.x 版本不同,在入口文件开启调试模式后,系统默认没有开启运行时间显示和页面 Trace 显示,这二者需要单独配置参数开启。在调试模式下,建议只开启页面 Trace 即可(如上面的 SHOW_PAGE_TRACE 参数),Trace 显示信息已经包含了运行时间。
在 Index 模块的 index 操作写入如下测试代码:
public function index(){ $Dao = M('User'); $user_list = $Dao->select(); $this->display(); }
并注意创建了对应的模板文件 TplIndexindex.html(注意以上文件都是 UTF-8 编码),运行:
http://localhost/index.php/Index/index
在页面上虽然没有做任何逻辑输出,但是却有系统调试信息,下面是页面 Trace 信息截图:
下拉滚动条还有框架加载的文件列表信息:
index 操作语法解释:
- $Dao->select():表示对 my_user 表进行查询,请创建一个任意字段的 my_user 表进行测试(my_为项目配置里面配置的表前缀),对表的查询会在《ThinkPHP 查询数据》一节讲解。
- $this->display():表示渲染模板(使用模板)。注意:只有渲染了模板,页面 Trace 信息才会显示。
限于篇幅,具体的页面 Trace 信息将在下文讲解。
页面运行时间
前面说过,在调试模式下,建议只显示页面 Trace 信息就够了,因为 Trace 信息已经包含了运行时间。而运行时间可以在部署模式下,根据需要单独开启。要单独开启运行时间的显示,可在项目配置文件里进行配置:
'SHOW_RUN_TIME' => true, // 是否显示运行时间
显示效果如下:
Process: 0.2427s
默认情况下,运行时间的显示是在 Html 页面的最后,如果需要在指定位置显示,只需要在 Html 模板文件中相关位置加上 即可,系统在输出页面的时候会自动在该位置替换运行时间的信息显示。