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.