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 相关文章推荐
PHP静态类
Nov 25 PHP
逐步提升php框架的性能
Jan 10 PHP
基于asp+ajax和数据库驱动的二级联动菜单
May 06 PHP
php开启安全模式后禁用的函数集合
Jun 26 PHP
PHP编码规范的深入探讨
Jun 06 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
PHP合并静态文件详解
Nov 14 PHP
php+ajax实现文章自动保存的方法
Dec 30 PHP
PHP实用函数分享之去除多余的0
Feb 06 PHP
利用php输出不同的心形图案
Apr 22 PHP
Yii2使用表单上传文件的实例代码
Aug 03 PHP
CentOS7编译安装php7.1的教程详解
Apr 18 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实现与erlang的二进制通讯实例解析
2014/07/23 PHP
Laravel5中contracts详解
2015/03/02 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
Python读取Excel的方法实例分析
2015/07/11 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
简单谈谈python中的语句和语法
2017/08/10 Python
python单例模式实例解析
2018/08/28 Python
对python Tkinter Text的用法详解
2018/10/11 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
Python argparse模块使用方法解析
2020/02/20 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
大韩航空官方网站:Korean Air
2017/10/25 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
文员岗位职责
2013/11/09 职场文书
奶茶店创业计划书范文
2014/01/17 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
先进学校事迹材料
2014/12/30 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android