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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
Apache2 httpd.conf 中文版
Nov 17 PHP
php 404错误页面实现代码
Jun 22 PHP
php Hex RGB颜色值互换的使用
May 10 PHP
解析PHP获取当前网址及域名的实现代码
Jun 23 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
PHP 实现判断用户是否手机访问
Jan 21 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
php求数组全排列,元素所有组合的方法总结
Mar 14 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
Sep 16 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
教你如何把一篇文章按要求分段
2006/10/09 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
2015/08/20 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
使用Bootstrap美化按钮实例代码(demo)
2017/02/03 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
[51:32]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
公司离职证明范本
2014/01/13 职场文书
活动邀请函范文
2014/01/19 职场文书
城管综合整治方案
2014/05/01 职场文书
体育口号大全
2014/06/18 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
工人先锋号申报材料
2014/12/29 职场文书
音乐教师求职信范文
2015/03/20 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android