Отстраняване на грешки функции в Битрикс d7
В основата на D7 се появи сравнително удобни вградени диагностични възможности на кода. Те са представени от именно пространство Битрикс \ Основни \ Diag, съкратени в следните примери:
Отстраняване на грешки в SQL-заявки
В основата на D7 да следите SQL-заявки използва т.нар SQL-тракера. При използване на тракера при всяка заявка към базата данни (метод Битрикс \ Main \ DB \ Connection :: queryInternal) в тракер писмено искане, а времето за начало и край на времето. Tracker е клас обект Diag \ SqlTracker.
За тракера и включването на следене на обект, за да получите текущата връзка и се обадете на метод startTracker:
След разговора, преди обаждането startTracker stopTracker всички искания ще бъдат наблюдавани. Всяко искане е представено от един обект от клас Битрикс \ Main \ Diag \ SqlTrackerQuery, чието събиране може да бъде получена по метода на повикване Diag \ SqlTracker :: getQueries
За да изчистите данните от тракера и да започне нов път, трябва да се обадите startTracker аргумент $ нулиране = вярно:
Пример проследяването на исканията при получаване на информация блокови елементи:
Трябва да се отбележи, че тракерът не проследява искания, направени от старото ядро.
Показва съдържанието на променлива към екрана
Diag \ Debug :: сметище ви позволява да отпечатате съдържанието на променлива в четим вид, в действителност това е добавка за var_dump:
Ако вторият аргумент да премине низ с името на една променлива, то ще бъде показано пред съдържанието на променливата:
Ако Третият аргумент е настроен да е истина, методът връща съдържанието на променливата вместо се извеждат на екрана.
Dump съдържанието на променливата във файла
Тези характеристики дават възможност за записване на съдържанието на променливата в лог файл. пътя на файла в сравнение с упреквайки на сайта прехвърлени на трети аргумент $ файловото име на, основен метод е писано в /__bx_log.log файл.
dumpToFile пише във файл в резултат на метод за отстраняване на грешки :: сметище, т.е. форматиран var_dump функция. writeToFile пише или просто променлива или в резултат на print_r функция. Ако променливата е масив.
Измерване на времето за изпълнение на код
Ако искате да се измери времето за изпълнение на някои част от код, можете да използвате тази интегрирано решение:
начало - време (UNIX клеймото с микросекунди) startTimeLabel първото повикване.
време - времето между startTimeLabel и endTimeLabel за секунди. Ако имаше няколко измервания с едно и също име (в този пример - "label1"), а стаковете.
Също така, има два полезни методи за диагностициране на клас Битрикс \ Main \ Diag \ Helper:
Diag \ Helper :: getCurrentMicrotime () връща текущата клеймото с микросекунди.
Diag \ Helper :: getBackTrace () връща тестето извиквания на функции.