Sayfa Yüklenme Süresi İçin Sınıf

Abdullah Şahin

Altın Üye
Altın Üye
Kayıt
3 Nisan 2008
Mesaj
2.630
Tepki
89
Sayfanızın hazırlanıp istemci tarafında gösterilmeye kadar geçen süreyi hesaplayıp gösterebilecekbir sınıf.kodlar aşağıdaki gibidir.kodların anlatımına gelince şöyle özetleyebiliriz.sınıf kümemizi oluşturuyoruz.

PHP:

  1. <?php
  2. class time
  3. {
sonra sınıf içerisinde ilk zaman damgasının tutulabilmesi için bir değişken tanımlıyoruz.

PHP:


  1. /**
  2. * Baslanan zamanı tutacak
  3. * degisken ismi
  4. *
  5. * @var time
  6. */
  7. 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:


  1. /**
  2. * Zaman baslangicini oluşturan fonksiyon
  3. *
  4. * @return unknown
  5. */
  6. function yuklemebaslangici()
  7. {
  8. list($usec1, $sec1) = explode(" ", microtime());
  9. return ((float)$usec1 + (float)$sec1);
  10. }
bitiş anındaki zaman damgasını başlangıçta alınan zaman damgasından çıkararak arasındaki farkı dönen fonksiyonumuz.

PHP:


  1. function yuklemebitisi($zaman)
  2. {
  3. list($usec2, $sec2) = explode(" ", microtime());
  4. $son= ((float)$usec2 + (float)$sec2);
  5. echo (number_format(($son - $zaman),5)." sn.\n");
  6. return;
  7. }
ş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ıdainceleyebilirsiniz.Ayrıca sınıf içerisindeki gerek fonksiyon gerekse değişkenlere $this-> komutuylaerişebiliyoruz.

PHP:


  1. function time()
  2. {
  3. /**
  4. * Sınıf İçindeki değişkene
  5. * zaman damgası atanıyor.
  6. */
  7. $this->starttime = $this->yuklemebaslangici();
  8. }
Yükleme zamanını bize getiren fonksiyonumuz.Bu fonksiyon zaman farkını ekrana basar.

PHP:


  1. /**
  2. * Süre Bitimi hesaplaması
  3. *
  4. * @return print time
  5. */
  6. function end_time()
  7. {
  8. return print $this->yuklemebitisi($this->starttime);
  9. }
kullanımına gelinceaş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:


  1. //sürenin baslayacağı yere koyacağınız kısım..
  2. $time = new time();
  3. //bitti
aşağıdaki kodumuzsa geçen sürenin basılacağı yere eklenecek kod

PHP:


  1. //sürenin bittiği ve ekrana basacağın yere koyacaksın..
  2. $time->end_time();
  3. //bitti..
kodların tamamı aşağıdaki gibidir.

PHP:


  1. <?php
  2. class time
  3. {
  4. /**
  5. * Baslanan zamanı tutacak
  6. * degisken ismi
  7. *
  8. * @var time
  9. */
  10. var $starttime;
  11. function time()
  12. {
  13. /**
  14. * Sınıf İçindeki değişkene
  15. * zaman damgası atanıyor.
  16. */
  17. $this->starttime = $this->yuklemebaslangici();
  18. }
  19. /**
  20. * Süre Bitimi hesaplaması
  21. *
  22. * @return print time
  23. */
  24. function end_time()
  25. {
  26. return print $this->yuklemebitisi($this->starttime);
  27. }
  28. function yuklemebaslangici()
  29. {
  30. list($usec1, $sec1) = explode(" ", microtime());
  31. return ((float)$usec1 + (float)$sec1);
  32. }
  33. function yuklemebitisi($zaman)
  34. {
  35. list($usec2, $sec2) = explode(" ", microtime());
  36. $son= ((float)$usec2 + (float)$sec2);
  37. echo (number_format(($son - $zaman),5)." sn.\n");
  38. return;
  39. }
  40. }
  41. //sürenin baslayacağı yere koyacağınız kısım..
  42. $time = new time();
  43. //bitti
  44. //sürenin bittiği ve ekrana basacağınız yere koyacaksın..
  45. $time->end_time();
  46. //bitti..
  47. ?>
 
Yukarı Alt