本文概述
- 安装
- 用法
- 技巧和窍门
- 如何贡献
但是, 即使使用魔术方法var_dump, 也很难理解和读取变量的某些结构。这就是为什么有一些库决定使像Kint这样的功能更好。 Kint for PHP是一个非常有用的工具, 旨在以绝对最佳的方式以图形方式显示调试数据。换句话说, 它是类固醇上的var_dump()和debug_backtrace()。易于使用, 但功能强大且可自定义。它是开发工具箱中必不可少的补充, 因此, 如果你仍然不了解该库的描述, 则可以使用它来查看变量内部的含义:
文章图片
该树形视图显示在视图中, 你可以在其中通过简单地单击栏上的任意位置将其展开来查看数据。树视图的一些功能包括:
- 双击+展开所有孩子
- 按d切换键盘导航。
- 按右侧的” ?” 图标, 查看要运行以获取一条数据所需的操作。
- 更改选项卡以查看不同的数据视图。
- 你可以通过单击标题对数据表进行排序。
安装 【Kint(现代而强大的PHP调试助手)】你可以在任何使用等于或高于5.1.2版本的PHP项目中轻松使用此库。你可以通过在项目中简单运行以下命令来使用composer安装它:
composer require kint-php/kint
或者, 只需从存储库下载kint.php文件, 然后将其添加到你的PHP文件中, 如下所示:
<
?phprequire 'kint.php';
通过两种方式中的任何一种安装后, 你将能够使用Kint提供的方法来帮助你进行调试。
用法 该项目易于使用。就像该语言的默认调试方法一样, 你可以使用Kint类的静态方法转储来调试变量, 甚至使用快捷方式:
<
?php// If using composer include the kint namespaceuse Kint;
// Debug multiple argumentsKint::dump($GLOBALS, $_SERVER, "Hello World");
// Or use the d shortcut of Kintd($GLOBALS, $_SERVER, "Hello World");
// Debug backtraceKint::trace();
// Debug backtrace shortcutd(1);
// Basic output modes($GLOBALS);
// Text only output mode~d($GLOBALS);
// Disable kintKint::$enabled_mode = false;
// Debugs no longer have any effectd('Get off my lawn!');
技巧和窍门
- 默认情况下启用Kint, 设置Kint :: $ enabled_mode = false; 完全关闭其功能。最佳做法是仅在开发环境中启用Kint(或例如Kint :: $ enabled_mode =($ _SERVER [‘ REMOTE_ADDR’ ] ==='< 你的IP> ’ ); )-即使你不小心留下了一个在生产中转储, 没人会知道。
- Kint有键盘快捷键!当看到Kint时, 按d 在键盘上, 你将能够使用箭头遍历树, H??升和标签 键-并使用以下命令扩展/折叠节点空间or输入.
- 点击+ 标志, 否则栏将打开/关闭它。
- 双击+ 标志将打开/关闭它及其所有子代。
- 三按+ 登录将打开/关闭页面上的所有内容。
- 看到输出右侧的小箭头了吗?单击它们以在单独的选项卡中打开节点, 或显示该值的访问路径。
- 你可以使用几个实时修改器:
- ?d($ var)此调用将以纯文本格式输出。
- + d($ var)将忽略深度级别限制并输出所有内容。 (小心, 这可能会使浏览器挂在大物体上!)
- !d($ var)将自动扩展输出。
- -d($ var)将尝试ob_clean先前的输出。
- 你也可以组合修饰符:?+ d($ var)
- 要更改显示主题, 请使用Kint_Renderer_Rich :: $ theme ='< 主题名称> ’ ; 可用选项包括:” original.css” (默认), ” solarized.css” , ” solarized-dark.css” 和” aante-light.css” 。你还可以将绝对路径传递到CSS文件, 以使用该路径:
文章图片
- 在Kint 2中删除了dd(), sd()和ddd(), 但你可以使用帮助程序别名将它们自己设置
- 阅读完整的文档以获取更多信息。
推荐阅读
- 如何使用适用于Android的Matisse库和Glide 4创建带有预览的图像/视频选择器
- Android错误(找不到与给定名称匹配的资源(在”icon”处,值为”@drawable/icon”))
- PHP调试栏(显示任何PHP项目中应用程序任何部分的概要分析数据)
- JSPaint(出色的基于Web的Microsoft Paint重制(95、98,XP版))
- Winamp2-js(在HTML5和Javascript中对Winamp 2.9的重新实现)
- Xenia(Xbox 360模拟器研究项目)
- Electron小提琴(在本地构建和玩小型Electron实验)
- RPCS3(实验性开源Sony PlayStation 3仿真器)
- 面试官问我斐波拉契数列,我从暴力递归讲到动态规划 ...