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 相关文章推荐
PHP4中session登录页面的应用
Jul 25 PHP
PHP中数组的三种排序方法分享
May 07 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
Jul 18 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
Nov 05 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
php封装好的人民币数值转中文大写类
Dec 20 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
PDO实现学生管理系统
Mar 21 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简单防盗链验证实现方法
2016/07/09 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
ie8本地图片上传预览示例代码
2014/01/12 Javascript
node.js实现端口转发
2016/04/14 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
JavaScript canvas实现跟随鼠标事件
2020/02/10 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
pyside写ui界面入门示例
2014/01/22 Python
全面解读Python Web开发框架Django
2014/06/30 Python
用python 制作图片转pdf工具
2015/01/30 Python
Python实现像awk一样分割字符串
2020/09/15 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
金山毒霸系列的笔试题
2013/04/13 面试题
Python文件操作的面试题
2013/06/22 面试题
工商管理系学生的自我评价分享
2013/11/29 职场文书
药品采购员岗位职责
2014/02/08 职场文书
环保公益广告语
2014/03/13 职场文书
酒店爱岗敬业演讲稿
2014/09/02 职场文书
信用卡工作证明模板
2014/09/14 职场文书
售后客服个人自我评价
2014/09/14 职场文书
停车场管理制度范本
2015/08/05 职场文书
教师外出学习心得体会
2016/01/18 职场文书
Python如何加载模型并查看网络
2022/07/15 Python