美文网首页
PHP调试工具--KINT

PHP调试工具--KINT

作者: astarblog | 来源:发表于2018-10-17 14:38 被阅读0次

    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

    ...

    相关文章

      网友评论

          本文标题:PHP调试工具--KINT

          本文链接:https://www.haomeiwen.com/subject/viqrzftx.html