ThinkPHP3.1新特性之G方法的使用


Posted in PHP onJune 19, 2014

长期以来ThinkPHP都是需要通过debug_start、debug_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_start、debug_end吧,大道至简,你懂的~

PHP 相关文章推荐
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
Jun 08 PHP
学习discuz php 引入文件的方法DISCUZ_ROOT
Jun 21 PHP
php 调用远程url的六种方法小结
Nov 02 PHP
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
PHP函数in_array()使用详解
Aug 20 PHP
php实现的双向队列类实例
Sep 24 PHP
PHP中使用BigMap实例
Mar 30 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
May 16 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
Jan 20 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
php的instanceof和判断闭包Closure操作示例
Jan 26 PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 #PHP
ThinkPHP3.1新特性之字段合法性检测详解
Jun 19 #PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
Jun 19 #PHP
ThinkPHP的Widget扩展实例
Jun 19 #PHP
ThinkPHP3.1的Widget新用法
Jun 19 #PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 #PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 #PHP
You might like
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
PHP中的替代语法简介
2014/08/22 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
js查找节点的方法小结
2015/01/13 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
利用python代码写的12306订票代码
2015/12/20 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
Python3 元组tuple入门基础
2020/02/09 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
python lambda的使用详解
2021/02/26 Python
Java程序员综合测试题
2014/04/25 面试题
税务会计岗位职责
2014/02/18 职场文书
建筑结构施工专业推荐信
2014/02/21 职场文书
创先争优宣传标语
2014/10/08 职场文书
新生开学寄语大全
2015/05/28 职场文书