2025年11月7日,codeigniter项目负责人在官方论坛晒出了一款自研调试输出工具的原型,公开征求社区意见,判断要不要继续推进开发,目标是减少对第三方库kint的外部依赖。目前这还只是开发方向的讨论,不属于正式版本已经上线的功能。首帖里已经演示了自定义调试输出效果,初步实现了diff与trace命令。

来源:CodeIgniter 官方论坛
提出自研方案的直接原因有两个:砍掉一个外部依赖,同时让调试器完全适配CodeIgniter的专属对象和开发流程。社区反馈并不统一,一部分参与者认可减少依赖、统一调试体验的思路,另一部分人担心Kint现有的嵌套展示、表格视图等功能能不能被完整覆盖,还有人主张把有限的开发资源优先投入到受众更广的框架通用功能上。

来源:CodeIgniter 官方论坛
项目负责人随后确认,原型已经实现大家常用的d() 和 dd()方法,还放出了测试代码,支持数组、字符串、标准对象、请求、响应、模型与实体的联合输出。示例里还特意修改了实体字段,用来演示变化跟踪信息。这类测试样本可以检验调试器对框架核心对象的识别质量,但目前还处于原型验证阶段,不能认为最终接口、视觉样式或者兼容策略已经定稿。

来源:CodeIgniter 官方论坛
后续更新的进展显示,原型已经给核心CodeIgniter类制作了自定义caster,在保留调试所需信息的同时隐藏无关冗余内容,trace输出功能也已经落地展示。这个方案的核心衡量标准从来不是单纯减少依赖数量,而是要做到常用对象信息展示清晰、深层结构可以逐层导航、敏感字段能妥善处理,就算输出体积很大的对象也能保持流畅可用的性能。

来源:CodeIgniter 官方论坛
官方论坛讨论还提到了JSON响应场景:现在Kint在这类输出场景下作用非常有限,如果新工具能原生处理JSON,就能形成很有实用价值的差异化优势。项目负责人也强调,框架的最终用户就是长期使用这类工具的开发者,优化开发体验本身就有长期价值。到这一步,讨论的焦点已经从“能不能少装一个第三方包”,扩展到新工具能不能让调试工作流和CodeIgniter的使用场景更贴合。

来源:CodeIgniter 官方论坛
提醒大家注意:在官方仓库出现明确的合并记录、版本日志或者迁移说明之前,这个工具都只能按预览性质看待。现有正在运行的项目不需要提前移除Kint,也不要围绕还没定版的接口改造业务代码。可以等正式拉取请求发布、兼容范围明确、性能测试数据公开、JSON输出方案敲定,以及官方最终发布说明全部齐备之后,再评估替换的成本和实际收益。











