Caracteristici în Bitrix Debugging d7
La baza D7 a apărut capacități relativ confortabile încorporate de diagnostic ale codului. Acestea sunt reprezentate de spațiu de nume Bitrix \ Main \ Diag, abreviate în următoarele exemple:
Debugging SQL-interogări
La baza D7 pentru a urmări SQL-interogări utilizează așa-numitele SQL-tracker. Când se utilizează tracker la fiecare cerere, la baza de date (metoda Bitrix \ principal \ DB \ Connection :: queryInternal) în cererea tracker scris și ora de începere și ora de terminare. Tracker este un obiect de clasa Diag \ SqlTracker.
Pentru tracker și includerea de urmărire a unui obiect pentru a obține conexiunea curentă și apelați startTracker metoda:
După apelul înainte de apel startTracker stopTracker toate cererile vor fi monitorizate. Fiecare cerere este reprezentat de un obiect de clasa Bitrix \ principal \ Diag \ SqlTrackerQuery, a cărui colecție poate fi obținută prin metoda de asteptare Diag \ SqlTracker :: getQueries
Pentru a șterge datele din tracker și a începe o nouă piesă, aveți nevoie pentru a apela startTracker argumentul $ resetare = true:
EXEMPLUL solicitărilor de urmărire atunci când primesc elementele blocului de informații:
Trebuie remarcat faptul că tracker nu urmărește solicitările făcute de vechiul nucleu.
Afișează conținutul unei variabile pe ecran
Diag \ Debug :: haldei vă permite să imprimați conținutul unei variabile într-o formă ușor de citit, de fapt, acesta este add-on pentru var_dump:
Dacă al doilea argument pentru a trece un șir de caractere cu numele unei variabile, acesta va fi afișat în fața conținutului variabilei:
În cazul în care al treilea argument este setat la true, metoda returnează conținutul variabilei în loc de a fi printat pe ecran.
Dump conținutul variabilei în fișierul
Aceste caracteristici vă permit să înregistreze conținutul variabilei într-un fișier jurnal. calea fișierului în raport cu site-ul reproșând transferat la al treilea argument $ numefișier, metoda implicită este scris în fișierul /__bx_log.log.
dumpToFile scrie într-un fișier rezultatul metodei Debuger :: haldei, adică formatat funcția var_dump. writeToFile scrie sau doar o variabilă sau rezultatul funcției print_r. dacă variabila este o matrice.
Măsurarea timpului de execuție cod
Dacă doriți să măsoare timpul de execuție a unor bucată de cod, puteți utiliza această soluție integrată:
începe - timp (unix cu amprentă de timp microsecunde) startTimeLabel primul apel.
time - timp între startTimeLabel și endTimeLabel în câteva secunde. Dacă au existat mai multe măsurători cu același nume (în acest exemplu - „label1“), în timp ce stive.
De asemenea, există două metode utile pentru diagnosticul de clasa Bitrix \ principal \ Diag \ Helper:
Diag \ Helper :: getCurrentMicrotime () returnează timestamp-ul curent cu microsecunde.
Diag \ Helper :: getBackTrace () returnează stiva de apeluri de funcții.