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代码
Dec 03 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
Jun 27 PHP
PHP中的替代语法简介
Aug 22 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
利用PHP将部分内容用星号替换
Apr 21 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
php常量详细解析
Oct 27 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
PHP MYSQL简易交互式站点开发
Dec 27 PHP
PHP使用DOM对XML解析处理操作示例
Jul 04 PHP
PHP常用函数之格式化时间操作示例
Oct 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
德生PL330测评
2021/03/02 无线电
关于PHP5 Session生命周期介绍
2010/03/02 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
php中的常用魔术方法总结
2013/08/02 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
Python 模块EasyGui详细介绍
2017/02/19 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
Python实现登录接口的示例代码
2017/07/21 Python
python针对excel的操作技巧
2018/03/13 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
UNIX特点都有哪些
2016/04/05 面试题
创业计划书模版
2014/02/05 职场文书
触电现场处置方案
2014/05/14 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL
教你用Python matplotlib库制作简单的动画
2021/06/11 Python