PHP_CodeSniffer 3.13.0 版本发布:PHP代码规范检查工具迎来重要更新
PHP_CodeSniffer 是一个广泛使用的PHP代码规范检查工具,它可以帮助开发者自动检测代码是否符合编码规范,并提供自动修复功能。该项目最新发布的3.13.0版本带来了多项重要更新和改进。
新特性与功能增强
本次3.13.0版本最显著的变化是增加了对PHP 8.4新特性的支持。PHP 8.4引入了不对称可见性修饰符(asymmetric visibility modifiers),现在tokenizer已经能够正确识别这些新语法。此外,针对PHP 8.4中新增的final属性特性,PSR2.Classes.PropertyDeclaration嗅探器也进行了相应更新。
Generic.WhiteSpace.LanguageConstructSpacing嗅探器现在扩展了其检查范围,新增了对goto语言结构关键字后空格的检查,这有助于保持代码风格的一致性。
代码规范检查改进
PSR2.Classes.PropertyDeclaration嗅探器在本次更新中得到了显著增强。它不仅能够检查PHP 8.4的final属性,还会验证final修饰符是否正确地放置在可见性关键字之前。如果发现顺序错误,会通过新的FinalAfterVisibility错误代码报告问题。
问题修复与优化
本次更新修复了几个重要问题。Generic.Strings.UnnecessaryHeredoc嗅探器之前会错误地将包含转义序列的heredoc标记为不必要,这个问题已得到修复。同时,修复器现在能够正确处理nowdoc中不必要的转义序列。
另一个重要修复涉及文件修复过程中的部分更新问题。在某些情况下,即使文件"修复失败",扫描的文件仍会被部分更新,这个问题已经解决,确保了修复过程的可靠性。
文档与用户体验改进
本次更新还包含了对多个嗅探器文档的改进,特别是PSR1.Files.SideEffects、PSR2.ControlStructures.SwitchDeclaration和PSR2.Namespaces.NamespaceDeclaration等嗅探器的文档得到了完善,帮助用户更好地理解和使用这些规则。
命令行界面的帮助信息也进行了优化,特别是关于--reports标志的说明更加清晰,提升了用户体验。
向后兼容性考虑
值得注意的是,3.13.0版本将之前软弃用(soft deprecated)的功能转为硬弃用(hard deprecated),这意味着这些功能将在未来的4.0版本中被移除。这包括将被移除的嗅探器、废弃的Generator方法、旧的数组属性设置格式等多种元素。开发者可以通过使用-q(quiet)命令行标志来静默这些弃用通知。
未来展望
项目团队已经发布了PHP_CodeSniffer 4.0的首个beta版本,并呼吁社区参与测试。为了帮助开发者顺利过渡,项目Wiki上已经发布了4.0版本的用户升级指南和开发者升级指南。
PHP_CodeSniffer作为PHP生态中重要的代码质量工具,其持续更新和改进对于维护PHP代码质量标准具有重要意义。3.13.0版本在支持最新PHP特性的同时,也在为即将到来的4.0大版本更新做准备,体现了项目团队对代码质量和开发者体验的持续关注。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0193- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00