默认情况下,
我已经更新了phpcs.xml
中的phpcs规则,包括:
<rule ref="Generic.WhiteSpace.ScopeIndent">
<properties>
<property name="indent" value="2" />
</properties>
</rule>
它非常有效,但是如果我有:
function test($x) {
$string = 'Hello';
return $string . $x;
}
不会出现错误,但如果没有缩进,则会出现错误。我搞不清楚问题出在哪里。
Generic.WhiteSpace.ScopeIndent
嗅探不会强制执行代码的精确对齐。它只强制一行之前至少有个n
空格或制表符。
例外情况是当它检查IF语句、FOREACH循环或函数等控制结构时。它使用这些结构来确定代码其余部分的缩进规则,因此需要将这些结构缩进到精确的列中。
通过将exact
嗅探属性设置为true
,可以启用对所有行的精确检查。可以在这里找到如何做到这一点的示例:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Customisable-Sniff-Properties#genericwhitespacescopeindent