PHP调试工具--KINT

2018-10-17  本文已影响0人  astarblog

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

安装(获得KINT)

点击下载

<?php
// 使用
require 'kint.phar';

解释下什么是phar:
PHP5.3之后支持了类似Java的jar包,名为phar;
用来将多个PHP文件打包为一个文件;
通俗点说说是:将项目(框架)压缩成一个文件,直接引用这个文件,就可以直接使用这个项目(框架)的所有功能

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;来将相应的代码不输出

可以通过$_SERVER['REMOTE_ADDR']来获得指定IP开启调试,其他IP不开启调试

想换UI?可以通过Kint\Renderer\RichRenderer::$theme设置相应的UI

...

上一篇下一篇

猜你喜欢

热点阅读