导读:各位开发者,新版本的PHP DebugBar推出了。
作者 Barry vd. Heuvel 刚刚宣布 PHP DebugBar v3现已发布,面向主流框架的 Laravel Debugbar 也将很快推出。

其更新的功能如下:
#新增PHP调试栏功能:
- 使用现代化原生 JavaScript,移除了 jQuery;
- 新的 Tabler 图标,带有构建脚本,用简洁的 SVG 图标替换了笨重的 FontAwesome 图标。
- 为带前缀的依赖项和最小化的资源构建脚本
- 新增 AssetHandler,以便更轻松地将资源导入到您自己的项目中。
- 提升了浅色模式的对比度
- 可选择将调试栏渲染在顶部而不是底部。
- 打开页面时渲染小部件,以减少页面初始加载时间
- 改进了对其他数据采集器的时间线数据支持
- QueryCollector 的回溯支持
- 使用 phpstan/eslint 进行静态分析,类型提示随处可见。
- 添加了 Symfony HttpFoundation 请求收集器(带桥接器)
- 性能提升,并进行了更多调整。
要了解的重大变化
这是一个主版本,原因显而易见。如果你使用了自定义收集器、小部件或进行了深度集成,则需要进行一些调整:
#小部件和用户界面
- jQuery 已正式被移除,现在所有组件都使用 JavaScript 类来实现。自定义组件需要更新。
- FontAwesome 图标已被移除,并替换为 Tabler 提供的 SVG 图标,这些图标已包含在 CSS 中。仅包含默认组件使用的图标,因此扩展调试栏的软件包需要添加为自己的图标。
- 类型提示已添加到所有小部件,因此可能需要更新小部件。
- 小部件是在打开标签页时渲染的,而不是在页面加载时渲染的。
数据收集器变更
- TimeDataCollector 从构造函数中移除,但是添加了 setTimeDataCollector 方法。
- useHtmlVarDumper 已被移除。默认使用 HtmlDataFormatter。要使用纯文本格式,请将默认格式化程序设置为 DataFormatter。
- 删除了过时的方法
- 已移除 get/setBindAjaxHandlerToJquery(请改用 bind 到 fetch/xhr)
- 已移除 Assetic 集合(如有需要,可直接使用 getAssets())
- 已移除 RequireJS 支持
- 从 DebugBarVarDumper 中移除 captureVar 和 renderCapturedVar
- 方法/接口的重大变更
- 所有内容都已进行类型提示,因此您可能需要更新代码以使用自定义收集器。
- getAssets() 移除了 $type 参数,并且总是返回所有资源。
- OpenHandler 要求始终设置 op 参数。
- DataFormatterInterface 有一个用于 formatVar 的第二个“深度”参数。
- StorageInterface 新增了一个“prune”方法
我们可以在GitHub上查看这款调试工具条的完整发布公告:
https://github.com/php-debugbar/php-debugbar/releases/tag/v3.0.0
作者:场长