kktsvetkov / krumo
Krumo 是一个调试工具,可以显示任何 PHP 变量的结构化信息。它是一个很好的替代品,用于许多 PHP 开发者使用的 print_r()
或 var_dump()
。
Requires
- php: >=5.3.0
README
Krumo:PHP 结构化信息显示解决方案
Krumo 是一个调试工具,可以显示任何 PHP 变量的结构化信息。它是一个很好的替代品,用于许多 PHP 开发者使用的 print_r()
或 var_dump()
。
概述
简单来说,Krumo 是 print_r()
和 var_dump()
的替代品。根据定义,Krumo 是一个调试工具,可以显示任何 PHP 变量的结构化信息。
许多开发者使用 print_r()
和 var_dump()
作为调试工具。虽然它们旨在提供关于变量的可读性信息,但我们都可以同意,总体上它们并不完美。Krumo 是一个替代品:它执行相同的工作,但使用 CSS/JS/HTML 美化信息。
安装
此库可以使用 Composer 以可自动加载的方式安装,作为 kktsvetkov/krumo。
php composer.phar require kktsvetkov/krumo
在处理尚未采用 Composer 的某些旧代码的情况下,您也可以下载此包,并将 class.krumo.php
包含在您的项目中,或者在您的 INCLUDE_PATH
中使其可用。
include 'class.krumo.php';
大致就是这样。
示例
以下是一个基本示例,它将返回作为参数传递给它的数组变量的报告
krumo(array('a1'=> 'A1', 3, 'red'));
您可以同时转储多个变量 - 这里是另一个示例
krumo($_SERVER, $_REQUEST);
您可能已经从上面的示例中看到,某些节点是可以展开的,因此如果您想检查嵌套信息,只需单击它们,它们就会展开;如果您不需要显示该信息,只需再次单击它即可将其折叠。这里有一个测试这个功能的示例
$x1->x2->x3->x4->x5->x6->x7->x8->x9 = 'X10'; krumo($x1);
krumo() 是包中唯一的独立函数,这是因为关于变量(如 print_r()
或 var_dump()
)的基本转储是最常见的任务,此类功能通常用于这些任务。其余的功能可以通过对 Krumo 类进行静态调用来调用。这里有一些更多示例
// print a debug backgrace krumo::backtrace(); // print all the included(or required) files krumo::includes(); // print all the included functions krumo::functions(); // print all the declared classes krumo::classes(); // print all the defined constants krumo::defines();
... 等等
请注意,您第一次调用 Krumo
时,它产生的转储还将打印用于展开/折叠转储节点所使用的 CSS 和 JS 代码。
krumo::fetch()
如果您想获取返回的输出而不是打印输出,可以使用 krumo::fetch()
方法。
$a = krumo::fetch($app, $env);
krumo::queue()
有人提出过有效的投诉,即有时 Krumo 输出被调用在某个打开的 HTML 标签的中间,这会破坏该标签和 Krumo 本身的输出。您可以使用 krumo::queue()
而不是 krumo::dump()
来解决这个问题,因为 krumo::queue()
将在其脚本末尾打印其输出。
krumo::queue($request);
皮肤
此包预先安装了几个皮肤,但如果您愿意,您可以创建自己的皮肤。皮肤是简单的前缀到 Krumo 打印结果中的 CSS 文件。
要设置 Krumo 皮肤,您必须在 krumo::$skin
中设置它。
krumo::$skin = 'blue';
Krumo 中预安装的皮肤列表如下
skins/kaloyan.info
这是新的默认主题,kaloyan.info
。它不像其他皮肤那样色彩丰富。
// set up using the "kaloyan.info" skin krumo::$skin = 'kaloyan.info';
skins/default
正如其名所示,这是旧的“默认”主题。
// set up using the "default" skin krumo::$skin = 'default';
skins/blue
这是旧默认主题的蓝色版本。
// set up using the "blue" skin krumo::$skin = 'blue';
skins/orange
这是旧默认主题的橙色版本。
// set up using the "orange" skin krumo::$skin = 'orange';
skins/green
这是旧默认主题的绿色版本。
// set up using the "green" skin krumo::$skin = 'green';
许可证
本项目采用GNU Lesser General Public License v2.1发布 opensource.org/licenses/LGPL-2.1
历史
该项目最初托管和维护在 sourceforge.net/projects/krumo/。