KINT 是一个免费开源,不用安装的 PHP 调试工具,用来替代系统内置的比如 var_dump()、print_r()、debug_backtrace() 等相关函数。

当调试 PHP 代码时,var_dump()、print_r() 和 debug_backtrace() 是我们最常用的工具。Kint,一个开源软件,一个不需安装的替代者,它提供了更好的调试体验。它巧妙地检测几乎不可读的数据,并将它们定制成规则的输出显示。变量名、文件、行号及包装的函数它全能提示出来。
乍一看,Kint 只是 var_dump()、print_r() 和 debug_backtrace() 的一个很好的替代品,然而,它远不止于此。你最终会想知道没有它你是如何发展的。
Kint 的主要目标之一是 零设置。
下载文件 并简单地使用:
<?php
require 'kint.phar';
或者使用 Composer 安装:
composer require kint-php/kint --dev
<?php
Kint::dump($GLOBALS, $_SERVER); // pass any number of parameters
d($GLOBALS, $_SERVER); // or simply use d() as a shorthand
Kint::trace(); // Debug backtrace
d(1); // Debug backtrace shorthand
s($GLOBALS); // Basic output mode
~d($GLOBALS); // Text only output mode
Kint::$enabled_mode = false; // Disable kint
d('Get off my lawn!'); // Debugs no longer have any effect
PHP 5.3 之后支持了类似 Java 的 jar 包,名为 phar,用来将多个 PHP 文件打包为一个文件,通俗点说说是:将项目(框架)压缩成一个文件,直接引用这个文件,就可以直接使用这个项目(框架)的所有功能。
Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
扩展地址:https://kint-php.github.io/kint/plugins/
官方给出的运行结果

实际测试代码
<?php
require 'D:/wamp/www/vendor/autoload.php';
// 加载需要用到的扩展
Kint::$plugins = array(
new Kint\Parser\MicrotimePlugin(),
);
// 打出相应的时间
Kint::dump(microtime());
Kint::dump($GLOBALS, $_SERVER);
Kint::trace(); // Debug backtrace
// 在次打出时间
Kint::dump(microtime());
// 清除时间
Kint\Parser\MicrotimePlugin::clean();
运行结果

扩展地址:https://kint-php.github.io/kint/plugins/
从源码中找到的相关扩展
public static $plugins = array(
'Kint\\Parser\\ArrayObjectPlugin',
'Kint\\Parser\\Base64Plugin',
'Kint\\Parser\\BlacklistPlugin',
'Kint\\Parser\\ClassMethodsPlugin',
'Kint\\Parser\\ClassStaticsPlugin',
'Kint\\Parser\\ClosurePlugin',
'Kint\\Parser\\ColorPlugin',
'Kint\\Parser\\DateTimePlugin',
'Kint\\Parser\\FsPathPlugin',
'Kint\\Parser\\IteratorPlugin',
'Kint\\Parser\\JsonPlugin',
'Kint\\Parser\\MicrotimePlugin',
'Kint\\Parser\\SimpleXMLElementPlugin',
'Kint\\Parser\\SplFileInfoPlugin',
'Kint\\Parser\\SplObjectStoragePlugin',
'Kint\\Parser\\StreamPlugin',
'Kint\\Parser\\TablePlugin',
'Kint\\Parser\\ThrowablePlugin',
'Kint\\Parser\\TimestampPlugin',
'Kint\\Parser\\ToStringPlugin',
'Kint\\Parser\\TracePlugin',
'Kint\\Parser\\XmlPlugin',
);
在线上码残留了相关代码怎么办?
可以通过配置 Kint::$enabled_mode = false; 来将相应的代码不输出。
开发人员启用了Kint的调试,而又不想用户看见怎么办?
可以通过 $_SERVER['REMOTE_ADDR'] 来获得指定IP开启调试,其他IP不开启调试。
查看界面太丑?
想换 UI?可以通过 Kint\Renderer\RichRenderer::$theme 设置相应的 UI。

