ErPhp 타이머 페이지 실행 시간 모니터링 클래스를 사용하면 다른 키에 따라 다른 실행 시간을 모니터링할 수 있습니다.
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
?>
<?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();
?>
program1 run time 163.285971 ms
program2 run time 100.347042 ms
run time 264.035940 ms
다양한 수의 매개변수를 지원하는 PHP 생성자 방법 소개
PDO를 사용하여 SQL 주입을 방지하기 위해 mysql을 쿼리하는 방법
위 내용은 PHP 타이머 페이지 실행 시간 모니터링 클래스 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!