darkfriend/php7-debug

此包的最新版本(1.0.6)没有可用的许可证信息。

PHP7调试助手

1.0.6 2021-03-30 18:25 UTC

This package is auto-updated.

Last update: 2024-09-29 04:36:59 UTC


README

composer require darkfriend/php7-debug

PHP7助手类

  • 用于跟踪和记录数据
  • 用于调试代码的不同部分

跟踪

将数据跟踪到文件

  • Trace::init($sessionHash = null, $mode = null, $pathLog = '/') - 初始化,仅用于更改初始或之前定义的设置
  • Trace::add($message, $category = 'common') - 将消息添加到文件

跟踪示例

// basic usage
\darkfriend\helpers\Trace::add('my message'); // добавляет строку
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект
// example: set trace file
\darkfriend\helpers\Trace::init(
    null,
    null,
    './logs/trace.log'
);
\darkfriend\helpers\Trace::add('my message'); // добавляет строку в файл trace.log
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект в файл trace.log

\darkfriend\helpers\Trace::init(
    null,
    null,
    './logs/custom.log'
);
\darkfriend\helpers\Trace::add('my message'); // добавляет строку в файл custom.log
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект в файл custom.log

日志

将日志数据记录到文件

  • Trace::init($sessionHash = null, $mode = null, $pathLog = '/') - 初始化,仅用于更改初始或之前定义的设置
  • Trace::add($message, $category = 'common') - 将消息添加到文件

跟踪示例

// basic usage
\darkfriend\helpers\Log::add('my message'); // добавляет строку
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект
// example: set trace file
\darkfriend\helpers\Log::init(
    null,
    null,
    './logs/basic.log'
);
\darkfriend\helpers\Log::add('my message'); // добавляет строку в файл basic.log
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект в файл basic.log

\darkfriend\helpers\Log::init(
    null,
    null,
    './logs/custom.log'
);
\darkfriend\helpers\Log::add('my message'); // добавляет строку в файл custom.log
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект в файл custom.log

调试(别名DebugHelper) - 便捷的调试和跟踪数据

  • DebugHelper::$mainKey - 包含$_COOKIE和$_GET键名的属性
  • DebugHelper::print_pre($o,$die,$show) - 静态方法,用于输出整个数组和对象的整个结构,包含文件和行信息(详细信息见下文)
  • DebugHelper::call($func,$params) - 静态方法,仅对管理员调用传递的函数,传递必要参数(详细信息见下文)
  • DebugHelper::trace($message,$category='common') - 静态跟踪方法(以下为使用示例)

DebugHelper::print_pre($o,$die,$show);

  • $o - 要输出的数据
  • $die - 输出后是否停止脚本执行(默认false)
  • $show - 全部输出[或仅在某些情况下输出](默认true)

示例

use \darkfriend\devhelpers\DebugHelper;
$data = [
  'key1' => 'value1',
  'key2' => 'value2',
  'key3' => [
    'subKey1' => 'subValue1',
    'subKey2' => 'subValue2',
  ],
];
DebugHelper::print_pre($data);

DebugHelper::call($func,$params)

  • $func - 要输出的函数
  • $params - 要传递的参数数组

示例

use \darkfriend\helpers\DebugHelper;
$data = [
  'key1' => 'value1',
  'key2' => 'value2',
  'key3' => [
    'subKey1' => 'subValue1',
    'subKey2' => 'subValue2',
  ],
];

// способ 1: используя $params
DebugHelper::call(function($data) {
  DebugHelper::print_pre($data);
},$data);

// способ 2: используя use
DebugHelper::call(function() use ($data) {
  DebugHelper::print_pre($data);
});

DebugHelper::trace($message,$category)

  • $message - 消息
  • $category - 跟踪类别

附加功能

  • 支持跟踪模式
    • TRACE_MODE_REPLACE - 日志覆盖模式
    • TRACE_MODE_APPEND - 日志追加模式
    • TRACE_MODE_SESSION - 跟踪会话模式
  • 支持跟踪会话 - 每次运行独立

示例 1: 简单跟踪

任务: 简单记录数据到日志

use \darkfriend\helpers\DebugHelper;
$array1 = [
  'key1' => 'value1',
  'key2' => 'value2'
];

// trace 1
DebugHelper::trace($array1);
// итог: запишет $array1 с категорией common.

$array1['key3'] = [
  'subKey1' => 'subValue1',
  'subKey2' => 'subValue2',
];

// trace 2
DebugHelper::trace($array1);
// итог: допишет в лог обновленный $array1 с категорией common

示例 1: 常见问题解答

  • 文件在哪里? - 路径 $_SERVER['DOCUMENT_ROOT'].'/trace.log'
  • 日志中会有什么? - 将记录两个变量$array1。默认情况下,日志记录是从上到下进行的
  • 类别是什么? - 默认类别为"common"

示例 2: 每次运行到独立文件

任务: 我们保存数据,并希望跟踪id字符串和保存的数据

use \darkfriend\helpers\DebugHelper;

$id = 1; // идентификатор

// делаем инициализацию
// $id - ключ trace-session
// self::TRACE_MODE_SESSION - включаем режим trace-session
DebugHelper::traceInit($id, DebugHelper::TRACE_MODE_SESSION);

$array1 = [
  'key1' => 'value1',
  'key2' => 'value2',
  'key3' => 'value3'
];

DebugHelper::trace($array1);
// итог: запишет $array1 с категорией common.

$array1['key3'] = [
  'subKey1' => 'subValue1',
  'subKey2' => 'subValue2',
];

// trace 2
DebugHelper::trace($array1);
// итог: допишет в лог обновленный $array1 с категорией common

示例 2: 常见问题解答

  • 文件在哪里? - 路径 $_SERVER['DOCUMENT_ROOT']."/{$id}-trace.log"
  • 日志中会有什么? - 将记录两个变量$array1。默认情况下,日志记录是从上到下进行的
  • 类别是什么? - 默认类别为"common"
  • 如何更改日志路径? - 默认情况下,日志在根目录下创建,要更改,需要在DebugHelper::traceInit()方法的第三个参数中传递从根目录的路径。示例:DebugHelper::traceInit($id, self::TRACE_MODE_SESSION,'/logs')
  • 我能否为不同的跟踪创建不同的文件? - 是的,需要在需要的时候调用方法DebugHelper::setHashSession($hash),其中$hash是任何键。