php实现的Timer页面运行时间监测类


Posted in PHP onSeptember 24, 2014

本文实例讲述了php实现的Timer页面运行时间监测类及其用法,是一款非常实用的PHP类文件。分享给大家供大家参考。具体分析如下:

该php Timer页面运行时间监测类,可按不同key监测不同的运行时间。

Timer.class.php类文件如下:

<?php 
/** Timer class, 计算页面运行时间,可按不同key计算不同的运行时间 
*  Date:  2014-02-28 
*  Author: fdipzone 
*  Ver:  1.0 
* 
*  Func: 
*  public start    记录开始时间 
*  public end     记录结束时间 
*  public getTime   计算运行时间 
*  pulbic printTime  输出运行时间 
*  private getKey    获取key 
*  private getMicrotime 获取microtime 
*/ 
 
class Timer{ // class start 
 
  private $_start = array(); 
  private $_end = array(); 
  private $_default_key = 'Timer'; 
  private $_prefix = 'Timer_'; 
 
  /** 记录开始时间 
  * @param String $key 标记 
  */ 
  public function start($key=''){ 
    $flag = $this->getKey($key); 
    $this->_start[$flag] = $this->getMicrotime(); 
  } 
 
  /** 记录结束时间 
  * @param String $key 标记 
  */ 
  public function end($key=''){ 
    $flag = $this->getKey($key); 
    $this->_end[$flag] = $this->getMicrotime(); 
  } 
 
  /** 计算运行时间 
  * @param String $key 标记 
  * @return float 
  */ 
  public function getTime($key=''){ 
    $flag = $this->getKey($key); 
    if(isset($this->_end[$flag]) && isset($this->_start[$flag])){ 
      return (float)($this->_end[$flag] - $this->_start[$flag]); 
    }else{ 
      return 0; 
    } 
  } 
 
  /** 输出页面运行时间 
  * @param String $key 标记 
  * @return String 
  */ 
  public function printTime($key=''){ 
    printf("%srun time %f ms\r\n", $key==''? $key : $key.' ', $this->getTime($key)*1000); 
  } 
 
  /** 获取key 
  * @param String $key 标记 
  * @return String 
  */ 
  private function getKey($key=''){ 
    if($key==''){ 
      return $this->_default_key; 
    }else{ 
      return $this->_prefix.$key; 
    } 
  } 
 
  /** 获取microtime 
  */ 
  private function getMicrotime(){ 
    list($usec, $sec) = explode(' ', microtime()); 
    return (float)$usec + (float)$sec; 
  } 
} // class end 
?>

demo示例代码如下:

<?php 
 
require 'Timer.class.php'; 
 
$timer = new Timer(); 
$timer->start(); 
 
$timer->start('program1'); 
usleep(mt_rand(100000,500000)); 
$timer->end('program1'); 
$timer->printTime('program1'); 
 
$timer->start('program2'); 
usleep(mt_rand(100000,500000)); 
$timer->end('program2'); 
$timer->printTime('program2'); 
 
$timer->end(); 
$timer->printTime(); 
 
?>

demo运行输出:

program1 run time 163.285971 ms 
program2 run time 100.347042 ms 
run time 264.035940 ms

完整实例源码点击此处本站下载。

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP+FLASH实现上传文件进度条相关文件 下载
Jul 21 PHP
php中常用的预定义变量小结
May 09 PHP
基于php权限分配的实现代码
Apr 28 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
PHP中substr()与explode()函数用法分析
Nov 24 PHP
php+xml编程之SimpleXML的应用实例
Jan 24 PHP
php生成图片验证码-附五种验证码
Aug 19 PHP
3种php生成唯一id的方法
Nov 23 PHP
Symfony2函数用法实例分析
Mar 18 PHP
PHP编程计算日期间隔天数的方法
Apr 26 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
php密码生成类实例
Sep 24 #PHP
PHP中file_get_contents高?用法实例
Sep 24 #PHP
php实现的Cookies操作类实例
Sep 24 #PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 #PHP
php过滤html标记属性类用法实例
Sep 23 #PHP
php广告加载类用法实例
Sep 23 #PHP
php实现根据url自动生成缩略图的方法
Sep 23 #PHP
You might like
如何在PHP中使用Oracle数据库(3)
2006/10/09 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
jquery随机展示头像代码
2011/12/21 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
2014/02/04 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
微信小程序 form组件详解及简单实例
2017/01/10 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
关于javascript sort()排序你可能忽略的一点理解
2017/07/18 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
python基于ID3思想的决策树
2018/01/03 Python
python构建深度神经网络(续)
2018/03/10 Python
Python 类的特殊成员解析
2018/06/20 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
Pandas中resample方法详解
2019/07/02 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
《在家里》教后反思
2014/03/01 职场文书
社区居务公开实施方案
2014/03/27 职场文书
三八活动策划方案
2014/08/17 职场文书
英文感谢信格式
2015/01/21 职场文书
超市采购员岗位职责
2015/04/07 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
Python 统计序列中元素的出现频度
2022/04/26 Python