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的FTP学习(二)[转自奥索]
Oct 09 PHP
php中iconv函数使用方法
May 24 PHP
php session 预定义数组
Mar 16 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
Apr 13 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
Jun 12 PHP
thinkphp中html:list标签传递多个参数实例
Oct 30 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 PHP
iOS+PHP注册登录系统 PHP部分(上)
Dec 26 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 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中图片等比缩放的实例
2013/03/24 PHP
PHP 解决session死锁的方法
2013/06/20 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
奇怪的鱼:Weird Fish
2018/03/18 全球购物
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
lululemon美国官网:瑜伽服+跑步装备
2018/11/16 全球购物
Ajax的工作原理
2015/12/04 面试题
期末总结的个人自我评价
2013/11/02 职场文书
运动会通讯稿200字
2014/02/16 职场文书
学校师德师风整改措施
2014/10/27 职场文书
天下第一关导游词
2015/02/06 职场文书
幼师小班个人总结
2015/02/12 职场文书
外科护士长工作总结
2015/08/12 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS
Python 实现定积分与二重定积分的操作
2021/05/26 Python