如何在 PHP CodeSniffer 中正确更改行字符限制配置



所以我想更改 PHP CodeSniffer 在检查文件时使用的$lineLimit$absoluteLineLimit的值。经过一些谷歌搜索,我试图制定自己的标准来促进这一点,但我还没有让它工作。在 Ubuntu 12.04.4LTS 和 PHP CodeSniffer 的系统目录中工作,我放在我的文件夹MyStandard和子目录中,Sniffs我有什么个人嗅探来更改称为LineLimit120Sniff.php的行限制

代码如下

class LineLimit120Sniff extends Generic_Sniffs_Files_LineLengthSniff
{
    public $lineLimit = 100;
    public $absoluteLineLimit = 120;
}

当我尝试运行phpcs --standard=MyStandard <file>时,我得到这个作为输出

PHP 注意:未定义的偏移量:3 in/usr/share/php/PHP/CodeSniffer.php 在1189行

PHP 致命错误:无法重新声明类 线路限制120嗅探 /usr/share/php/PHP/CodeSniffer/Standards/MyStandard/Sniffs/LineLimit120Sniff.php 在第 8 行

我不明白,这个类是如何被重新宣布的..?我做错了什么?或者,有没有更简单的方法来更改$lineLimit设置?

简单的方法是在你喜欢的位置创建一个规则集.xml并将下面的文本插入其中。

<?xml version="1.0"?>
<ruleset name="MyStandard">
    <description>This standard changes the line length</description>
    <!-- Insert all sniff from PSR2 standard -->
    <rule ref="PSR2"/>
    <rule ref="Generic.Files.LineLength">
        <properties>
            <property name="lineLimit" value="100"/>
            <property name="absoluteLineLimit" value="120"/>
        </properties>
     </rule>
</ruleset>

使用标准

phpcs --standard=/path/to/ruleset.xml test.php

最新更新