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

时间:2014-02-28 16:08:45

标签: php codesniffer

所以我想更改PHP CodeSniffer在检查文件时使用的$lineLimit$absoluteLineLimit的值。经过一些谷歌搜索,我试图制定自己的标准,以促进这一点,但我没有得到它的工作。在Ubuntu 12.04.4LTS和PHP CodeSniffer的系统目录中工作我放入了我的文件夹MyStandard和子目录Sniffs我有什么是我个人的Sniff来改变名为{{的行限制1}}

代码如下

LineLimit120Sniff.php

当我尝试运行class LineLimit120Sniff extends Generic_Sniffs_Files_LineLengthSniff { public $lineLimit = 100; public $absoluteLineLimit = 120; } 时,我将其作为输出

  

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

     

PHP致命错误:无法重新声明课程   LineLimit120Sniff in   /usr/share/php/PHP/CodeSniffer/Standards/MyStandard/Sniffs/LineLimit120Sniff.php   在第8行

我不明白,班级是如何被重新宣布的?我究竟做错了什么?或者,是否有更简单的方法来更改phpcs --standard=MyStandard <file>设置?

1 个答案:

答案 0 :(得分:4)

简单的方法是在您喜欢的位置创建一个ruleset.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