所以我想改变的值$lineLimit,并$absoluteLineLimit在PHP CodeSniffer检查文件时使用。经过一番谷歌搜索后,我试图制定自己的标准来促进这一点,但是我没有使其有效。在Ubuntu 12.04.4LTS上以及PHP CodeSniffer的系统目录中工作,我将放在我的文件夹中,MyStandard并在子目录中,Sniffs我将成为我的个人嗅探员,以更改称为LineLimit120Sniff.php
代码如下
class LineLimit120Sniff extends Generic_Sniffs_Files_LineLengthSniff
{
public $lineLimit = 100;
public $absoluteLineLimit = 120;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试运行时phpcs --standard=MyStandard <file>,将其作为输出
PHP注意:未定义的偏移量:1189行的/usr/share/php/PHP/CodeSniffer.php中的3
PHP致命错误:无法在第8行的/usr/share/php/PHP/CodeSniffer/Standards/MyStandard/Sniffs/LineLimit120Sniff.php中重新声明类LineLimit120Sniff
我不明白,该班级是如何重新宣布的?我究竟做错了什么?或者,是否有更简单的方法来更改$lineLimit设置?
简单的方法是在您喜欢的位置创建一个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>
Run Code Online (Sandbox Code Playgroud)
使用标准
phpcs --standard=/path/to/ruleset.xml test.php
Run Code Online (Sandbox Code Playgroud)