所以我想更改 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