Ladezeit berechnen und ausgeben

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ladezeit berechnen und ausgeben

    Hallo!

    Ich möchte gerne die Ladezeit meiner Seiten im Footer.tpl ausgeben. Da ich mit Smarty arbeite scheint mir das etwas problematisch zu werden.

    Also, in miner Header.tpl rufe ich folgende Smarty Funktion auf

    PHP Code:

    function smarty_modifier_load_head()
    {    

            
    $startzeit explode(" "microtime());
            
    $startzeit $startzeit[0]+$startzeit[1];
            return 
    $startzeit;
            
            
    }    
    $tpl->register_function('load''smarty_modifier_load_head'); 
    und im Footer diese:

    PHP Code:
    function smarty_modifier_load_footer()
    {    
            
            
            
    $endzeit=explode(" "microtime());
            
            
    $endzeit=$endzeit[0]+$endzeit[1];
            
    $startzeit smarty_modifier_load_head();

            
            echo 
    date("d.m.Y"); echo", "; echo date("H:i"); echo" Uhr, ".round($endzeit $startzeit,4)." Sekunden";
        
            
    $endzeit "";
            
        
    }
    $tpl->register_function('load_ende''smarty_modifier_load_footer'); 
    Die Ladezeit beträgt immer 0. Obwohl ich den ganzen body Bereich
    prüfe.

    Vielleicht kann ich das direkt mit Smarty machen?

  • #2
    Funktionen werden nicht bei der Deklaration sondern erst beim Aufruf ausgeführt. Diese Zeilen
    PHP Code:
    $endzeit=explode(" "microtime());
    $endzeit=$endzeit[0]+$endzeit[1];
    $startzeit smarty_modifier_load_head(); 
    entsprechen daher folgendem Ablauf:
    PHP Code:
    $endzeit=explode(" "microtime());
    $endzeit=$endzeit[0]+$endzeit[1];
    $startzeit explode(" "microtime());
    $startzeit $startzeit[0]+$startzeit[1]; 
    Wie man sieht, berechnest du die Startzeit sogar erst nach der Endzeit. Da kann so ja nichts werden!

    Du musst die Startzeit zu Beginn des Scripts ermitteln, in einer Variablen speichern und am Ende von der aktuellen Zeit abziehen.

    Comment


    • #3
      PHP Code:
      $startzeit explode(" "microtime());
      $startzeit $startzeit[0]+$startzeit[1];
      // entspricht
      $startzeit microtime(true); 
      Gruss
      H2O

      Comment

      Working...
      X