目录 搜索
序言基础安装ThinkPHP开发规范目录结构架构架构总览生命周期入口文件URL访问模块设计命名空间自动加载Traits引入API友好配置配置目录配置格式配置加载读取配置动态配置独立配置配置作用域环境变量配置路由路由模式路由定义批量注册变量规则组合变量路由参数路由地址资源路由快捷路由路由别名路由分组MISS路由闭包支持路由绑定绑定模型域名路由URL生成控制器控制器定义控制器初始化前置操作跳转和重定向空操作空控制器多级控制器分层控制器Rest控制器自动定位控制器资源控制器请求请求信息输入变量更改变量请求类型请求伪装HTTP头信息伪静态方法注入属性注入参数绑定依赖注入请求缓存数据库连接数据库基本使用查询构造器查询数据添加数据更新数据删除数据查询方法查询语法链式操作wheretablealiasfieldorderlimitpagegrouphavingjoinuniondistinctlockcachecommentfetchSqlforcebindpartitionstrictfailExceptionsequence聚合查询时间查询高级查询视图查询子查询原生查询查询事件事务操作监听SQL存储过程数据集分布式数据库模型定义模型初始化新增更新删除查询聚合获取器修改器时间戳只读字段软删除类型转换数据完成查询范围模型分层数组访问和转换JSON序列化事件关联一对一关联一对多关联远程一对多多对多关联多态关联动态属性关联预载入关联统计聚合模型视图视图实例化模板引擎模板赋值模板渲染输出替换模板模板定位模板标签变量输出系统变量请求参数使用函数使用默认值使用运算符三元运算原样输出模板注释模板布局模板继承包含文件标签库内置标签循环输出标签比较标签条件判断资源文件加载标签嵌套原生PHP定义标签日志介绍日志驱动日志写入独立日志日志清空写入授权错误和调试调试模式异常处理抛出异常Trace调试变量调试性能调试SQL调试远程调试404页面验证验证器验证规则错误信息验证场景控制器验证模型验证内置规则静态调用表单令牌安全输入安全数据库安全上传安全其它安全建议杂项缓存SessionCookie多语言分页上传验证码图像处理文件处理单元测试扩展函数类库行为驱动Composer包Time数据库迁移工具WorkermanMongoDbSAE标签扩展命令行自动生成目录结构创建类库文件生成类库映射文件生成路由缓存清除缓存文件生成配置缓存文件生成数据表字段缓存自定义命令行部署虚拟主机环境Linux 主机环境URL重写附录配置参考常量参考助手函数升级指导更新日志
文字

调试模式并不能完全满足我们调试的需要,有时候我们需要手动的输出一些调试信息。除了本身可以借助一些开发工具进行调试外,ThinkPHP还提供了一些内置的调试工具和函数。例如,Trace调试功能就是ThinkPHP提供给开发人员的一个用于开发调试的辅助工具。可以实时显示当前页面的操作的请求信息、运行情况、SQL执行、错误提示等,并支持自定义显示,5.0版本的Trace调试支持没有页面输出的操作调试。

Trace调试功能对调试模式和部署模式都有效,可以单独开启和关闭。
只是在部署模式下面,显示的调试信息没有调试模式完整,通常我们建议Trace配合调试模式一起使用。

开启Trace调试

默认关闭Trace调试功能,要开启Trace调试功能,只需要配置下面参数:

// 开启应用Trace调试
'app_trace' =>  true,

如果定义了环境变量app_trace,那么以环境变量配置为准。

页面Trace显示

要开启页面Trace功能,需要配置trace参数为:

// Trace信息
'trace'     =>  [
    //支持Html,Console
    'type'  =>  'html',
] 

设置后并且你的页面有输出的话,页面右下角会显示ThinkPHP的LOGO:

我们看到的LOGO后面的数字就是当前页面的执行时间(单位是秒) 点击该图标后,会展开详细的Trace信息,如图:

Trace框架有6个选项卡,分别是基本、文件、流程、错误、SQL和调试,点击不同的选项卡会切换到不同的Trace信息窗口。

选项卡 描述
基本 当前页面的基本摘要信息,例如执行时间、内存开销、文件加载数、查询次数等等
文件 详细列出当前页面执行过程中加载的文件及其大小
流程 会列出当前页面执行到的行为和相关流程
错误 当前页面执行过程中的一些错误信息,包括警告错误
SQL 当前页面执行到的SQL语句信息
调试 开发人员在程序中进行的调试输出

Trace的选项卡是可以定制和扩展的,默认的配置为:

// 显示Trace信息
'trace' =>[
    'type'       =>  'Html',
    'trace_tabs' =>  [
         'base'=>'基本',
         'file'=>'文件',
         'info'=>'流程',
         'error|notice'=>'错误',
         'sql'=>'SQL',
         'debug|log'=>'调试'
     ]
]

也就是我们看到的默认情况下显示的选项卡,如果你希望增加新的选项卡:用户,则可以修改配置如下:

// 显示Trace信息
'trace' =>[
    'type'       =>  'Html',
    'trace_tabs' =>  [
         'base'=>'基本',
         'file'=>'文件',
         'info'=>'流程',
         'error'=>'错误',
         'sql'=>'SQL',
         'debug'=>'调试',
         'user'=>'用户'
     ]
]

也可以把某几个选项卡合并,例如:

// 显示Trace信息
'trace' =>[
    'type'       =>  'Html',
    'trace_tabs' =>  [
         'base'=>'基本',
         'file'=>'文件',
         'error|notice'=>'错误',
         'sql'=>'SQL',
         'debug|log|info'=>'调试',
     ]
]

更改后的Trace显示效果如图:

浏览器Trace显示

trace功能支持在浏览器的console直接输出,这样可以方便没有页面输出的操作功能调试,只需要设置:

// Trace信息
'trace' =>[
    // 使用浏览器console输出trace信息
    'type'  =>  'console',
] 

运行后打开浏览器的console控制台可以看到如图所示的信息:

浏览器Trace输出仍然支持trace_tabs设置。

上一篇: 下一篇:
  页面正在加载中