【问题标题】:Configuring phpcs to disallow spaces after closing bracket and before closing bracket配置 phpcs 以在右括号之后和右括号之前禁止空格
【发布时间】:2017-10-23 14:12:58
【问题描述】:

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

这是 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" />

但是我如何强制不应该有空格?我找不到任何东西。

【问题讨论】:

  • 您只是在使用规则集 XML 文件?可以发完整的文件吗?

标签: wordpress code-standards phpcs


【解决方案1】:

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

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 错误消息,否则您的函数调用不会出现任何错误。

【讨论】:

  • 看起来合法!谢谢!难怪我在这个主题上找不到任何东西,我看错了方向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-05
  • 1970-01-01
  • 2016-02-04
  • 1970-01-01
相关资源
最近更新 更多