Maison >développement back-end >tutoriel php >Introduction à la classe de surveillance du temps d'exécution de la page php Timer
Classe de surveillance du temps d'exécution de la page PHP Timer, qui peut surveiller différents temps d'exécution en fonction de différentes touches
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 ?>
démo :
<?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(); ?>
sortie de la démo en cours d'exécution :
program1 run time 163.285971 ms program2 run time 100.347042 ms run time 264.035940 ms
Cet article explique le contenu connexe sur la surveillance du temps d'exécution de la page php Timer. Pour plus de connaissances connexes, veuillez prêter attention au site Web chinois de php.
Recommandations associées :
Introduction à la méthode du constructeur php prenant en charge différents nombres de paramètres
Comment utiliser PDO pour interroger les méthodes mysql pour éviter l'injection SQL
Explication de la classe de file d'attente bidirectionnelle PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!