O zi bună pentru toată lumea.
Să încercăm să trecem cronometrul pe PHP
Probabil o mulțime care se întreba de întrebări:
1. Cât timp îmi ia scenariul.
2. Cât de mult este pagina (puteți observa despre mai multe site-uri).

Și așa, să mergem.

Să creăm cronometrul pe OOP, adică în Ideul de clasă și să dau numele cronometrului:

CLASER TIMER ()

Și să creăm imediat un designer de clasă, astfel încât să putem numi datele temporizatorului (acest lucru este în mare parte necesar pentru diferențiale) și, de asemenea, trebuie să creați o variabilă în care am reușit să stocăm rezultatele cronometrului.
Iată codul care va funcționa:

$ TIMETIMER \u003d matrice ();

Timer de clasă (
Private $ id;




$ acest -\u003e id \u003d $ id;
}
}

Și să creăm o funcție imediat pentru a începe cronometrul, Outcasts și tragerea valorii curente:

Clastimer (
Private $ id;

/ * Funcția de pornire a temporizatorului * /
Funcția Start () ()
Global $ Timetimer; // astfel încât a fost posibil să se facă referire la variabila globală
$ mtime \u003d microtime (); // aflați ora curentă în câteva secunde și milisecunde

$ MTIME \u003d $ MTIME + $ MTIME;
$ TIMETIMER [$ Acest -\u003e ID] ["Start"] \u003d $ Mtime; // Aduceți rezultatul la variabila globală
}

Funcția STOP () () ()
Global $ Timestemer;
$ mtime \u003d microtime ();
$ Mtime \u003d explodează ("", $ mtime);
$ MTIME \u003d $ MTIME + $ MTIME;
$ TIMETIMER [$ Acest -\u003e ID] ["STOP"] \u003d $ MTIME;
$ TIMETIMER [$ acest -\u003e id] ["rezultat"] \u003d $ MTIME - $ TIMETIMER [$ Acest -\u003e ID] ["Start"];
}

Funcția obține ($ rand \u003d 5) (
Global $ Timestemer;
dacă ($ TIMETIMER [$ acest -\u003e id] ["rezultat"] return $ timiimer [$ acest -\u003e id] ["rezultat"];
$ mtime \u003d microtime ();
$ Mtime \u003d explodează ("", $ mtime);
$ MTIME \u003d $ MTIME + $ MTIME;
Întoarcere ($ MTIME - $ TIMETIMER [$ Acest -\u003e ID] ["Start"], $ rand);

Funcție __construct ($ id \u003d "") (
dacă ($ id) (trigger_error ("intrare greșită parametr", e_user_warning);)
dacă ($ TIMETIMER [$ id]) (trigger_error ("nu poate init cronometrul", e_user_warning);)
$ acest -\u003e id \u003d $ id;
}
}

Ei bine, cred că în clasa însăși, indiferent de problemele. Rămâne doar pentru a inițializa cronometrul:

$ TIMER \u003d Timer nou ("Test"); // Creați un cronometru cu numele "Testul"
$ TIMER -\u003e Start (); // Rulați cronometrul
$ Timer -\u003e oprire (); // opriți cronometrul

Ca rezultat al acestui cod, vom obține o valoare foarte mică!
Să încercăm să încărcați cumva sistemul. Puteți utiliza ciclul:

$ Timer \u003d cronometru nou ("test");
$ TIMER -\u003e Start ();
pentru ($ i \u003d 0; $ i< 500000; $i++){//запустим цыкл на пол милиона раз
Dacă (IS_INT ($ I / 100000)) (// Dacă valoarea curentă este de 100.000 sau 200.000 sau 300.000 .... retrageți rezultatul curent, dar nu opriți cronometrul!
ECHO $ \u200b\u200bTIMER -\u003e Obțineți (). "
";
}
}
$ Cronometru -\u003e oprire ();
Print_r ($ TIMETIMER); // Afișează cronometrul nostru

Utilizarea acestei clase poate crea o multitudine de cronometre care nu vor încărca sistemul.
Acesta nu este un script de cronometru mare. Clasa poate fi, de asemenea, întrebătă puțin și se înființează pentru sine.