hexmakina/debugger

Debugger 是 var_dump() 输出的 PHP 封装类

安装: 233

依赖者: 2

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 3

类型:package

0.1.4 2021-09-21 12:59 UTC

This package is auto-updated.

Last update: 2024-09-17 13:37:20 UTC


README

Latest Stable Version License

Scrutinizer Code Quality PSR-4 Compliant PSR-12 Compliant PHP 7.0 Required

var_dump 封装,可选完整堆栈跟踪,强制良好外观

  • 它告诉你调用是从哪里开始的,所以你永远不需要再找忘记的 var_dump()
  • 它显示导致转储的调用跟踪
  • 对于每个跟踪,它都会向你展示文件名、类名和带有参数的函数

不再困惑错误是如何产生的。

用法

实例化 Debugger;加载类和快捷方式

new \HexMakina\Debugger\Debugger();

Debugger 类文件有 2 个命名空间,HexMakina\Debugger 中的调试器本身,以及在根命名空间中的 4 个快捷方式

vd($var, $label);  // visual dump
dd($var, $label);  // visual dump AND die();
vdt($var, $label); // visual dump with full trace
ddt($var, $label); // visual dump with full trace AND die();

例如,在文件 bootstrap.php 的第 16 行中转储变量 $foo,vd($foo); 的输出将是

**************
[bootstrap.php            16]       ?::vd(1627941733.4195)
string(4) "bar"

vd($foo, 'a label for easy spotting'); 的输出将是

******* (a label for easy spotting) *******
[bootstrap.php            16]       ?::vd(1627942158.3575)
string(3) "bar"

但是 vdt($foo); 将是

**************
[index.php                 2]          ?::require(/var/www/dev.engine/koral/lareponse/koral/bootstrap.php)
[bootstrap.php            16]       ?::vdt(1627941924.2403)
string(4) "bar"

现在我们看到程序在到达调试命令之前所经过的整个路径

更深入到代码中,在一个子子子子子子.. 例程中,vdt($foo, 'inspecting foo'); 的输出将是

******* (inspecting) *******
[index.php                35]  HexMakina\koral\Controllers\Home::bootstrap()
[Home.php                 28]  App\Controllers\Home::common_viewport(HexMakina\kadro\Controllers\Reception)
[Home.php                 18]  HexMakina\TightORM\TableModel::filter()
[TableModel.php          184]  HexMakina\koral\Models\Worker::filter(Array #0, Array #0)
[Worker.php               78]  HexMakina\TightORM\TightModel::filter(Array #0, Array #0)
[TightModel.php          160]  HexMakina\TightORM\TightModelSelector::__construct(HexMakina\koral\Models\Worker)
[TightModelSelector.php   20]  HexMakina\TightORM\TableModel::table()
[Crudites.php             31]  ::vdt(1631261380.9958)
string(6) "bar"

简单调试和传统格式,这就是 Debugger。