所以我想更改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>
设置?
答案 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