自定义 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.
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

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

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

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
打杂的 @ 某某医学
文章
35
粉丝
63
喜欢
328
收藏
112
排名:37
访问:19.1 万
私信
所有博文
社区赞助商