自定义 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 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 1

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

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