KINT是一个免费开源,不用安装的PHP调试工具,用来替代系统内置的比如var_dump(),print_r(),debug_backtrace()等相关函数
安装(获得KINT)
- 通过
phar
<?php
// 使用
require 'kint.phar';
解释下什么是
phar
:
PHP5.3之后支持了类似Java的jar包,名为phar;
用来将多个PHP文件打包为一个文件;
通俗点说说是:将项目(框架)压缩成一个文件,直接引用这个文件,就可以直接使用这个项目(框架)的所有功能
- 通过
composer
composer require kint-php/kint --dev
<?php
// 使用
require 'D:/wamp/www/vendor/autoload.php';
解释下什么是
composer
Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件
使用
<?php
require 'D:/wamp/www/vendor/autoload.php';
// 输出服务端处理
Kint::dump($GLOBALS, $_SERVER);
// 或许,可以试试更简单的,使用缩写:
d($GLOBALS, $_SERVER);
// 或者,你可以用dd()在打印完之后直接结束程序;
dd( $_SERVER ); // 相当于 d( $_SERVER ); die;
// 跟踪调试信息:
Kint::trace();
// 这么写跟上面的效果相同
Kint::dump( 1 );
// 禁用所有输出
Kint::enabled(false);
// 之后这样的方法调用,都不会有输出了
d('Get off my lawn!'); // 没有效果
运行结果:
image说明:简写方法没有执行是因为,框架里面有相关的方法,将其覆盖了
扩展的使用
扩展地址:https://kint-php.github.io/kint/plugins/
介绍下microtime
的使用
实际测试代码
<?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();
运行结果
image更多扩展
扩展地址: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
...
网友评论