PHP调试工具--KINT

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

...

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Awesome PHP 一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、W...
    guanguans阅读 6,309评论 0赞 47
  • Composer Repositories Composer源 Firegento - Magento模块Comp...
    零一间阅读 4,060评论 1赞 66
  • ziadoz在 Github发起维护的一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库...
    Gundy_阅读 6,644评论 4赞 192
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,399评论 3赞 119
  • 好运健谈 分享 2018年3月21 今天早上三点半起床 ,去赶飞机 来到海南参加第八届 《金钱智慧》 一路上可...
    好运健谈阅读 438评论 0赞 1

友情链接更多精彩内容