ms-natali/bitrix-debug

0.1.1 2018-04-22 05:51 UTC

This package is auto-updated.

Last update: 2024-09-21 21:04:22 UTC


README

安装

composer require "ms-natali/bitrix-debug"

描述

用途

通常,为了调试数据,我们使用 dump($var) 打印数据。然而,在产品服务器上,我们不能这样做,因为

  • 这样调试信息就会被用户看到
  • 我们也不能提交这样的调试信息,因为这样信息将始终被输出。

本包提供了解决这个问题的方案

使用方法

为了调试,建议使用以下机制

  • init.php 文件中添加 \MsNatali\BitrixDebug\DebugVar::register()

register 方法可以接受两个可选参数

  • $cut_dir 不要在弹出窗口中显示的文件路径部分(最好传递到项目目录的路径)
  • $cookie_name 存储当前调试模式(开/关)信息的cookie名称
  • 在需要的地方调用 \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() . " 的参数");