|
| 1 | +Что это? |
| 2 | +-------------------------- |
| 3 | + |
| 4 | +BitrixDebugger - библиотека для дебага в 1с битрикс, которая позволяет выводить данные в дебаг-панель, логировать в файлы, в будущем появится функционал |
| 5 | +вывода дебаг-данных на месте вызова методов. |
| 6 | + |
| 7 | +Зачем мне это? |
| 8 | +-------------------------- |
| 9 | + |
| 10 | +Из проекта в проект я видел картину, что каждый разработчик реализует свою дебаг-функцию, которая в целом делает то же самое - вывод код внутри тега \<pre\>. Согласитесь, было бы удобнее скачать библиотеку и настроить в IDE сниппеты для нее |
| 11 | + |
| 12 | +Как пользоваться? |
| 13 | +-------------------------- |
| 14 | +Зайдите в Вашу папку php_interface где лежит так же файл init.php и введите команду (либо скачайте архив с данного репозитория): |
| 15 | + |
| 16 | +```console |
| 17 | +$ git clone https://github.com/ggrachdev/BitrixDebugger |
| 18 | +``` |
| 19 | +Далее в файле init.php подключите библиотеку |
| 20 | +```php |
| 21 | +<?php |
| 22 | + |
| 23 | +include 'BitrixDebugger/initializer.php'; |
| 24 | +``` |
| 25 | + |
| 26 | +Чтобы получить дебаг-данные в дебаг-панели введите в любом месте в коде (данные будут отображены в разных вкладках панели): |
| 27 | +```php |
| 28 | +<?php |
| 29 | + |
| 30 | +GD()->notice('Моя переменная', 'Моя переменная 2'); |
| 31 | +GD()->error('Моя переменная', 'Моя переменная 2'); |
| 32 | +GD()->warning('Моя переменная', 'Моя переменная 2'); |
| 33 | +GD()->success('Моя переменная', 'Моя переменная 2', 'Моя переменная 3', ['test' => [ |
| 34 | + 'testSubKey1' => [ |
| 35 | + 1,2,3 |
| 36 | + ], |
| 37 | + 'testSubKey2' => [ |
| 38 | + 1,2,3 |
| 39 | + ], |
| 40 | + 'testSubKey3' => [ |
| 41 | + 1,2,3 |
| 42 | + ] |
| 43 | +]]); |
| 44 | +``` |
| 45 | + |
| 46 | +Так же можно логировать дебаг-данные в файлы (Эти данные не будут отображены в дебаг-панели, а буду записываться в файлы при хите): |
| 47 | +```php |
| 48 | +<?php |
| 49 | + |
| 50 | +GD()->noticeLog('Моя переменная', 'Моя переменная 2'); |
| 51 | +GD()->errorLog('Моя переменная', 'Моя переменная 2'); |
| 52 | +GD()->warningLog('Моя переменная', 'Моя переменная 2'); |
| 53 | +GD()->successLog('Моя переменная', 'Моя переменная 2', 'Моя переменная 3'); |
| 54 | +``` |
| 55 | + |
| 56 | +Папку для логирования можно настроить в файле initializer.php |
| 57 | +```php |
| 58 | +<?php |
| 59 | + |
| 60 | +$ggrachDebuggerConfigurator->setLogPath('error', __DIR__ . '/logs/error.log'); |
| 61 | +$ggrachDebuggerConfigurator->setLogPath('warning', __DIR__ . '/logs/warning.log'); |
| 62 | +$ggrachDebuggerConfigurator->setLogPath('success', __DIR__ . '/logs/success.log'); |
| 63 | +$ggrachDebuggerConfigurator->setLogPath('notice', __DIR__ . '/logs/notice.log'); |
| 64 | +``` |
| 65 | + |
| 66 | +В данный момент дебаг-данные отображаются только в дебаг-панели, на месте вызова отображать нельзя. Дебаг-панель видна только пользователям, которые являются администраторами. |
| 67 | + |
| 68 | +Данные в дебаг-панели можно скрывать, раскрывать, если присутствует переменная-строка. Если она больше 200 символов, то будет замена на [Очень длинный текст] и удаляются все html теги, чтобы исключить ошибки в отображении |
| 69 | + |
| 70 | +Тестировалась скорость формирования страницы с библиотекой и без, при ее наличии скорость дольше примерно на 0,01 сек., что не значительно замедляет проект. |
| 71 | + |
| 72 | +Дебаг-панель: |
| 73 | +[Скриншот](https://prnt.sc/zz8h04) |
0 commit comments