此函数会纪录所有已经执行过的SQL语句
当开启此功能时, 会自动记录基于框架提供的DB、Cache类各项操作的执行语句、执行耗时信息
当开启此功能时, 最多纪录100条数据(不区分任何模式), 理论上一个过程不会有这么多SQL (防止在CLI模式下占用大量内存)
在开启命名空间情况下(asf.use_namespace=1)类名为 Asf\Debug\Trace
字段名称 | 含义 |
i | DB类型;注:当前统一归纳为MySQL |
s | 执行的命令/方法 |
v | 执行的条件 |
t | 执行所消耗的时间, 默认保留小数点5位。 单位(秒) |
r | 执行得到的结果/结果集 |
<?php namespace Asf\Debug; final class Trace { /* 自定义调试信息 */ public static bool log(string $data); /* 打印记录的跟踪信息 */ public static array/null show(void); /* 清除已经跟踪信息 */ public static bool clear(void); }
Open the Trace Log
<?php // 第一种方式, 在PHP代码中设置, 比如在框架入口文件设置 ini_set('asf.trace_enable', 1); // 第二种方式, 在php.ini中设置 [asf] asf.trace_enable = 1
<?php use Asf\Debug\Trace; Trace::log(['sql' => 'select * from table']); var_dump(Trace::show());
<?php use Asf\Debug\Trace; var_dump(Trace::show());
<?php use Asf\Debug\Trace; Trace::log(['sql' => 'select * from table']); Trace::clear(); Trace::log(['sql' => 'select * from table']); var_dump(Trace::show());