<?php
class calismaZamaniKontrol{
var $yukle;
var $beklet;
function calismaZamaniKontrol() {
$this->beklet = 0;
$this->yukle = 0;
}
function baslat(){
list($usn,$sn)=explode(" ",microtime());
$this->yukle=(float)$usn+(float)$sn;
}
function durdur(){
if($this->yukle==0){
$this->beklet=0;
}else{
list($usn, $sn)=explode(" ",microtime());
$asilzaman = (float)$usn+(float)$sn;
$this->beklet+=$asilzaman-$this->yukle;
$this->yukle=0;
}
}
function devam(){
list($usn,$sn)=explode(" ",microtime());
$this->yukle=(float)$usn+(float)$sn;
}
function calismaZamani(){
if($this->yukle == 0){
return $this->beklet;
}else{
list($usn, $sn)=explode(" ",microtime());
$asilzaman=(float)$usn + (float)$sn;
$sonbekleme=$asilzaman - $this->yukle;
return ($this->beklet+$sonbekleme);
}
}
}
$nesne = new calismaZamaniKontrol;
$nesne->baslat();
for($x=0;$x<10000;$x++);
echo "Ilk Kayit:".$nesne->calismaZamani()."<br>";
echo "<br>Durduruldu...<br><br>";
$nesne->durdur();
echo "Ikinci Kayit:".$nesne->calismaZamani()."<br>";
echo "<br>Devam Ediyor...<br><br>";
$nesne->devam();
for($x=0;$x<10000;$x++);
echo "Ucuncu Kayit:".$nesne->calismaZamani()."<br>";
echo "<br>Durduruldu...<br><br>";
$nesne->durdur();
?>
Çıktısı
Ilk Kayit:0.003000020980835
Durduruldu...
Ikinci Kayit:0.003000020980835
Devam Ediyor...
Ucuncu Kayit:0.0040011405944824
Durduruldu...