ms-natali / bitrix-debug
Installs: 5 637
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-12-21 21:42:17 UTC
README
Установка
composer require "ms-natali/bitrix-debug"
Описание
Назначение
Для отладки данных обычно мы печатаем данные с помощью dump($var). Однако сделать такое на прод сервере мы не можем, т.к.:
- Тогда отладочную информацию смогут увидеть пользователи
- Комитить такую отладку мы тоже не можем, т.к. тогда эта информация будет выводиться всегда.
Данный пакет предлагает решение этой проблемы
Использование
Для отладки предлагается следующий механизм:
- Прописываем в
init.php
строку\MsNatali\BitrixDebug\DebugVar::register()
Метод register может принимать 2 необязательных параметра:
- $cut_dir часть пути до файла, которую не нужно выводить в попап (оптимально сюда передавать путь до директории проекта)
- $cookie_name название куки, куда будет сохраняться информация о текущем режиме отладки (вкл/выкл)
- Вызываем
\MsNatali\BitrixDebug\DebugVar::get()->debug($var)
в нужном месте
Дополнительно в ->debug можно передать:
- Название отлаживаемых данных. Например
->debug($arResult, "Результат компонента " . $this->getName())
. По умолчанию названием будет считаться название переданной переменной.- порядковый номер элемента стека вызова, который будет использоваться для получения информации о файле и строке вызова. Например
->debug($arResult, "", 1)
- В панели администратора включаем "Отладка -> Отладка данных". В нижнем углу появится информация об отладочных данных (как при отладке SQL запросов).
- Открываем попап и видим данные, сгруппированные по файлу:строке вызова, а так же по названию.
Для удобства можно добавить:
Функцию-хелпер
/** * Добавить переменную к отладке * @param mixed $var переменная, информацию о которой необходимо вывести в отладчик * @param string $name название переменной. По умолчанию будет использовано реальное название переменной или No Name * @param int $backtrace_i порядковый номер элемента стека вызова, который будет использоваться для получения информации о файле и строке вызова */ function debug_var($var, $name = '', $backtrace_i = 0) { \MsNatali\BitrixDebug\DebugVar::get()->debug($var, $name, $backtrace_i + 1); }
Сбор данных по умолчанию
- В метод
BaseComponent::onPrepareComponentParams
передreturn
прописатьdebug_var($arParams, "Параметры компонента " . $this->getName());