darkfriend / php7-debug
此包的最新版本(1.0.6)没有可用的许可证信息。
PHP7调试助手
1.0.6
2021-03-30 18:25 UTC
Requires
- php: >=7.0
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是任何键。