Sayfa Yüklenme Süresi

Sayfanızın hazırlanıp istemci tarafında gösterilmeye kadar geçen süreyi hesaplayıp gösterebilecek bir sınıf.

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

  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

niye hep sınıflarla anlatılıyor inanın böyle çok az kişi anlıyor ya sınıfları en baştan doğru düzgün anlatın ya da daha basit bir kodlama ile anlatın teşekkürler..
arkadaşımın dediklerine katılıyorum ben mesela yeniyim bu konuda daha yüzeysel anlayabileceğimiz dile anlatırsanız sevinirim gene de teşekkürler emeğinize sağlık
Sanalkurs herkese hitap eden bir sitedir. Her ders acemilere göre yazılacak diye bir kural yok arkadaşlar.

Yukarı Git