PDA

Orijinalini görmek için tıklayınız : PHP Sayfa Yüklenme Süresi İçin Sınıf


esmerkiz
18-12-2007, 18:33 PM
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 milisaniyeyi oluşturup geri döner.

PHP:


/**

* 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.

PHP:


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.

PHP:


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.

PHP:


/**

* 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.

PHP:


//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

PHP:


//sürenin bittiği ve ekrana basacağın yere koyacaksın..

$time->end_time();

//bitti..



kodların tamamı aşağıdaki gibidir.

PHP:


<?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..

?>