Sayfanızın hazırlanıp istemci tarafında gösterilmeye kadar geçen süreyi hesaplayıp gösterebilecek bir sınıf.
kodlar aşağıdaki gibidir.
kodların anlatımına gelince şöyle özetleyebiliriz.
sınıf kümemizi oluşturuyoruz.
<?php
class time
{
sonra sınıf içerisinde ilk zaman damgasının tutulabilmesi için bir değişken tanımlıyoruz.
/**
* Baslanan zamanı tutacak
* degisken ismi
*
* @var time
*/
var $starttime;
başlangıç için zaman damgasını oluşturan fonksiyon,çağrıldığında microtime ile unix zaman
damgası ile o anki mikrosaniyeyi oluşturup geri döner.
/**
* Zaman baslangicini oluşturan fonksiyon
*
* @return unknown
*/
function yuklemebaslangici()
{
list($usec1, $sec1) = explode(" ", microtime());
return ((float)$usec1 + (float)$sec1);
}
bitiş anındaki zaman damgasını başlangıçta alınan
zaman damgasından çıkararak arasındaki farkı dönen fonksiyonumuz.
function yuklemebitisi($zaman)
{
list($usec2, $sec2) = explode(" ", microtime());
$son= ((float)$usec2 + (float)$sec2);
echo (number_format(($son - $zaman),5)." sn.\n");
return;
}
şimdi sınıfı çalıştırdığımızda otomatik olarak sınıfın işlemesini sağlayacak fonksiyonu yazıyoruz.
fonksiyon içerisinde değişkene değer atanırken kullanılan yuklemebaslangic() fonksiyonunu yukarıda inceleyebilirsiniz.
Ayrıca sınıf içerisindeki gerek fonksiyon gerekse değişkenlere $this-> komutuyla erişebiliyoruz.
function time()
{
/**
* Sınıf İçindeki değişkene
* zaman damgası atanıyor.
*/
$this->starttime = $this->yuklemebaslangici();
}
Yükleme zamanını bize getiren fonksiyonumuz.Bu fonksiyon zaman farkını ekrana basar.
/**
* Süre Bitimi hesaplaması
*
* @return print time
*/
function end_time()
{
return print $this->yuklemebitisi($this->starttime);
}
kullanımına gelince
aşağıdaki kodu sayfada en üste eklenmelidir.Ama unutulmamalıdır.
Şayet zaman hesaplama sınıfı aynı dosya içinde değilse bu kod
o dosyanın include fonksiyonuyla kodlara dahil edildikten sonra kullanılmalıdır.
//sürenin baslayacağı yere koyacağınız kısım..
$time = new time();
//bitti
aşağıdaki kodumuzsa geçen sürenin basılacağı yere eklenecek kod
//sürenin bittiği ve ekrana basacağın yere koyacaksın..
$time->end_time();
//bitti..
kodların tamamı aşağıdaki gibidir.
<?php
class time
{
/**
* Baslanan zamanı tutacak
* degisken ismi
*
* @var time
*/
var $starttime;
function time()
{
/**
* Sınıf İçindeki değişkene
* zaman damgası atanıyor.
*/
$this->starttime = $this->yuklemebaslangici();
}
/**
* Süre Bitimi hesaplaması
*
* @return print time
*/
function end_time()
{
return print $this->yuklemebitisi($this->starttime);
}
function yuklemebaslangici()
{
list($usec1, $sec1) = explode(" ", microtime());
return ((float)$usec1 + (float)$sec1);
}
function yuklemebitisi($zaman)
{
list($usec2, $sec2) = explode(" ", microtime());
$son= ((float)$usec2 + (float)$sec2);
echo (number_format(($son - $zaman),5)." sn.\n");
return;
}
}
//sürenin baslayacağı yere koyacağınız kısım..
$time = new time();
//bitti
//sürenin bittiği ve ekrana basacağınız yere koyacaksın..
$time->end_time();
//bitti..