ms-natali/bitrix-debug

0.1.1 2018-04-22 05:51 UTC

This package is auto-updated.

Last update: 2024-10-21 21:17: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);
}

Сбор данных по умолчанию

  1. В метод BaseComponent::onPrepareComponentParams перед return прописать debug_var($arParams, "Параметры компонента " . $this->getName());