Código
<?php /** * @author MadPitbull * @copyright 2011 */ class PageLoadingTime{ private $time; private $initTime; private $finTime; private $totalTime; /** * PageLoadingTime::__construct() * Starts the timer. * @return null */ public function __construct() { $this->initPageLoadingTime(); } private function initPageLoadingTime() { $this->time = $this->time[1] + $this->time[0]; $this->initTime = $this->time; } /** * PageLoadingTime::getPageLoadingTime() * Returns a float var with the page loading time in micro seconds. * @return float */ public function getPageLoadingTime() { $this->time = $this->time[1] + $this->time[0]; $this->finTime = $this->time; $this->totalTime = ($this->finTime - $this->initTime); return $this->totalTime; } } ?>
Su funcionamiento es muy sencillo, utiliza dos timers. El primero es inicializado al invocar al constructor de la clase y el valor del segundo es capturado invocando el método getPageLoadingTime y luego se guarda en otra variable la resta del tiempo registrado al principio del script con el tiempo registrado al final del script.
Os dejo un ejemplo de como funciona y mas abajo un enlace para descargar la clase y el ejemplo.
Código
<?php include ("class.PageLoadingTime.php"); echo "[+] Testing the PageLoadingTime PHP Class <br />"; $timer = new PageLoadingTime(); for ($i = 0; $i <= 100; $i++) { echo "<p style='text-indent: 1em'>" . $i . "<p>"; } echo "<p>Execution time: <b>" . $timer->getPageLoadingTime() . "</b></p>"; ?>
El bucle for lo he puesto solo para probar el funcionamiento de la clase.
Os dejo el enlace para descargar la clase, si no queréis descargarla podéis copiarla directamente de aquí, funcionará sin
problemas. [Descargar]