PHP DebugBar v3 发布
Barry vd. Heuvel 发布 PHP DebugBar v3,Laravel Debugbar 也将很快发布。
PHP DebugBar 新功能:
- 现代化 JavaScript,移除 jQuery
- 使用构建脚本引入新的 Tabler 图标,用轻量级的 SVG 图标替换了臃肿的 FontAwesome
- 用于前缀依赖项和最小化资源的构建脚本
- 新的
AssetHandler使将资源导入到你自己的项目更加容易 - 改进了浅色模式的对比度
- 可以选择将调试栏渲染在顶部而不是底部
- 打开时渲染 widget 以减少初始页面加载时间
- 改进了对其他收集器的
TimelineData支持 QueryCollector的回溯支持- 使用
phpstan/eslint进行静态分析,到处都有类型提示 - 添加了 Symfony HttpFoundation Request collector(带桥接器)
- 性能提升和更多优化。
需要注意的重大更改
这是一个主要版本,因此会有一些重大更改。如果有自定义收集器、widget 或深度集成,请做好调整准备:
Widget和用户界面
- jQuery 已移除,widget 现在是 JavaScript 类。自定义 widget 需要更新。
- FontAwesome 已移除,并由 CSS 中包含的 Tabler SVG 图标替换。仅包含默认 widget 使用的图标,因此扩展调试栏的包应该添加自己的图标。
- 所有 widget 都添加了类型提示,因此你可能需要更新 widget。
- widget 在打开选项卡时渲染,而不是在加载页面时渲染。
DataCollectors 的更改
TimeDataCollector已从构造函数中移除,但添加了setTimeDataCollector方法。useHtmlVarDumper已移除。默认使用HtmlDataFormatter。要使用纯文本,请将默认格式化程序设置为DataFormatter。
移除过时的方法
- 移除
get/setBindAjaxHandlerToJquery(请改用绑定到fetch/xhr) - 移除
Assetic集合(如果需要,请直接使用getAssets()) - 移除 RequireJS 支持
- 从
DebugBarVarDumper中移除captureVar和renderCapturedVar
方法/接口的重大更改
- 所有内容都添加了类型提示,因此你可能需要更新自定义收集器的代码。
getAssets()移除了$type参数,并且始终返回所有资源。OpenHandler要求始终设置op参数。DataFormatterInterface的formatVar方法添加了第二个参数deep。StorageInterface接口新增了prune方法
请访问 GitHub 查看完整的版本发布公告。