自定义 phpcs 规则

在旧项目中利用 phpcs 使用自定义规则格式化代码

旧项目中很可能没有命名空间。但是希望能够通过 phpcs 来检测代码规范,又不希望抛出
11 | ERROR | Each class must be in a namespace of at least one level (a top-level vendor name) 这个顶级命名空间错误。

file

查阅某个文档这篇文章 看到了希望,可以自定义规则,然后忽略特定规则。

研究一段时间源码后,在 这里 找到了我要忽略的规则 「MissingNamespace」

最后得到了既能按照 PSR2 规范,又可以忽略特定规则的配置:

~/code_standards/CustomStandard/ruleset.xml

<?xml version="1.0"?>
<ruleset name="CustomStandard">
 <rule ref="PSR2">
    <exclude name="PSR1.Classes.ClassDeclaration.MissingNamespace"/>
 </rule>
</ruleset>

file

最后你可以选择将自定义规则与你的 ide 、sublime、atom 等结合起来,就可以做到保存就自动检测并格式化代码了。

本作品采用《CC 协议》,转载必须注明作者和本文链接
Study hard and make progress every day. Study hard and make progress every day.
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 1

如果是laravel项目,可以只排除指定目录。

<!-- Laravel Migration & Seeder 没有命名空间 -->
<rule ref="PSR1.Classes.ClassDeclaration">
    <exclude-pattern>database/*</exclude-pattern>
</rule>
4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!