长期以来 ThinkPHP 都是需要通过 debug_startdebug_end 方法甚至 Debug 类才能完成那些调试的功能, 而在 ThinkPHP3.1 版本中, 这些复杂的功能被一个简单的 G 方法取代了, 这不可不谓是一次华丽升级
G 方法的作用包括标记位置和区间统计两个功能, 下面来看下具体用法:
1. 标记位置
G 方法的第一个用法就是标记位置, 例如:
G('begin');
表示把当前位置标记为 begin 标签, 并且记录当前位置的执行时间, 如果环境支持的话, 还能记录内存占用情况可以在任何位置调用 G 方法标记
2. 运行时间统计
标记位置后, 我们就可以再次调用 G 方法进行区间统计了, 例如:
- G('begin');
- // ... 其他代码段
- G('end');
- // ... 也许这里还有其他代码
- // 进行统计区间
- echo G('begin','end').'s';
G('begin','end') 表示统计 begin 位置到 end 位置的执行时间 (单位是秒),begin 必须是一个已经标记过的位置, 如果这个时候 end 位置还没被标记过, 则会自动把当前位置标记为 end 标签, 输出的结果类似于:
0.0056s
默认的统计精度是小数点后 4 位, 如果觉得这个统计精度不够, 还可以设置例如:
G('begin','end',6).'s';
可能的输出会变成:
0.005587s
3. 内存开销统计
如果你的环境支持内存占用统计的话, 还可以使用 G 方法进行区间内存开销统计 (单位为 kb), 例如:
echo G('begin','end','m').'kb';
第三个参数使用 m 表示进行内存开销统计, 输出的结果可能是:
625kb
同样, 如果 end 标签没有被标记的话, 会自动把当前位置先标记为 end 标签
如果环境不支持内存统计, 则该参数无效, 仍然会进行区间运行时间统计
忘掉 debug_startdebug_end 吧, 大道至简, 你懂的~
来源: https://www.php1.cn/detail/php-955ef06694.html