La clase TiempoEjecucion tiene por objetivo calcular un lapso de tiempo desde que creamos un objeto de
esta clase hasta que llamamos al método imprimir o calcular.
Definimos dos atributos:
private $tiempoInicio;
private $tiempoFin;
donde se almacenan el tiempo de inicio y el tiempo de fin.
El constructor inicializa el atributo $tiempoInicio:
public function __construct()
{
$this->tiempoInicio=$this->actual();
}
La clase cuenta con un método privado que calcula la hora actual:
private function actual()
{
$hora=microtime();
$hora=explode(' ',$hora);
$ac=$hora[1]+$hora[0];
return $ac;
}
La función microtime retorna un string con dos valores numericos que representan la cantidad de
segundos que han pasado desde el primero de enero de 1970 y la fracción de segundo actual.
Mediante la función explode obtenemos un vector con dos elementos, separando los segundos y la
fracción de segundo. El segundo elemento almacena la cantidad de segundos y el primer elemento
la fracción de segundo.
Sumamos estos dos valores y retornamos dicho valor.
El método calcular:
public function calcular()
{
$dif=$this->actual()-$this->tiempoInicio;
return $dif;
}
Retorna la diferencia entre la hora actual y la hora que se inicializó en el constructor.
Por último el método imprimir muestra el tiempo transcurrido:
public function imprimir()
{
echo $this->calcular();
}