配置phpcs以在关闭括号之后和关闭括号之前禁止空格

时间:2017-05-23 14:42:02

标签: wordpress code-standards phpcs

我们的大多数项目都是WordPress,虽然我们同意它设置的大多数编码标准,但我们不同意并且不想在我们的自己的私有项目中使用。由于他们在网上发现的开发人员密码解决方案,这些分歧的某些部分仍然最终存在于代码库中,并且我想用phpcs来防止这种情况。不仅因为copypasting有问题(这些代码片段的质量通常很糟糕),而且因为它更难以阅读和编辑。

这是WordPress告诉你的方式:fn_call( array( 1, 2, 3 ) );

这就是我们这样做的方式:fn_call([1, 2, 3]);

我找到了一种从WordPress编码标准中排除这些规则的方法

<exclude name="PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket" />
<exclude name="PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket" />
<exclude name="WordPress.Arrays.ArrayDeclaration.NoSpaceAfterOpenParenthesis" />

但我如何强制执行应该没有空格?我找不到任何相关内容。

1 个答案:

答案 0 :(得分:2)

您实际上并不想排除这2条PEAR规则。您希望覆盖WordPress标准使用的设置,将其从1所需空间更改为0所需空格。

WordPress Core ruleset.xml file包括此部分:

<rule ref="PEAR.Functions.FunctionCallSignature">
    <properties>
        <property name="requiredSpacesAfterOpen" value="1"/>
        <property name="requiredSpacesBeforeClose" value="1"/>
    </properties>
</rule>

默认情况下,PEAR.Functions.FunctionCallSignature嗅探强制在大括号之后有0个空格,并且在大括号之前有0个空格,这正是你想要的。但WordPress标准将这些设置更改为1空间。

在ruleset.xml文件中,在您包含WordPress标准之后,请填写此部分:

<rule ref="PEAR.Functions.FunctionCallSignature">
    <properties>
        <property name="requiredSpacesAfterOpen" value="0"/>
        <property name="requiredSpacesBeforeClose" value="0"/>
    </properties>
</rule>

与您想要的任何其他排除项一起使用。但请勿排除PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracketPEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket错误消息,否则您的函数调用不会出现任何错误。