代码嗅探器,如何验证是否清除PSR2?

Code sniffer, How to validate just clear PSR2?

提问人:user2219071 提问时间:12/6/2022 最后编辑:marc_suser2219071 更新时间:12/19/2022 访问量:79

问:

我的配置:

phpcs --config-set default_standard PSR2

<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="test">
    <file>./../../web</file>

    <arg name="standard" value="PSR2"/>
    <arg name="extensions" value="php"/>
    <arg name="basepath" value="./../../"/>
    <arg name="tab-width" value="4"/>

    <rule ref="PSR2">
        <exclude name="Generic.WhiteSpace.DisallowTabIndent"/>
        <exclude name="Generic.Files.LineLength.TooLong"/>
    </rule>

    <rule ref="Generic.WhiteSpace.DisallowSpaceIndent"/>

    <rule ref="Generic.WhiteSpace.ScopeIndent">
        <properties>
            <property name="indent" value="4"/>
            <property name="tabIndent" value="true"/>
        </properties>
    </rule>
</ruleset>

在报告中,我有 、 和 规则PSR1PSR2GenericSquiz

如何在没有 和 的情况下只验证清除?PSR2GenericSquiz

第二件事:在哪里可以找到 和 的标准文档?GenericSquiz

感谢。

php phpcodesniffer

评论


答:

0赞 Greg Sherwood 12/7/2022 #1

PSR2 标准使用来自其他标准的嗅探来执行其规则。这是因为标准之间有很多重叠,复制代码没有意义。因此,PSR2 标准从其他标准中提取检查以执行类似的规则。

当您告诉PHP_CodeSniffer使用 PSR2 标准检查文件时,您可以确定它只强制执行 PSR2 规则,而不管使用什么嗅探来强制执行它。