配置 phpcs 以在右括号之后和右括号之前禁止空格
Configuring phpcs to disallow spaces after closing bracket and before closing bracket
我们的大部分项目都是 WordPress,虽然我们同意它设定的大部分编码标准,但有些我们不同意并且不想在我们的 自己的私人项目中使用。由于开发人员在网上找到的复制粘贴解决方案,这些分歧的一部分仍然以某种方式最终出现在代码库中,我想用 phpcs 来防止这种情况发生。不仅因为复制粘贴有问题(这些代码片段的质量通常很糟糕),还因为它更难阅读和编辑。
这是 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" />
但是我如何强制不应该有空格?我找不到任何东西。
您实际上并不想排除这 2 个 PEAR 规则。您需要覆盖 WordPress 标准使用的设置,将其从 1
required space 更改为 0
required spaces.
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
spaces,在右大括号之前有 0
spaces大括号,这正是你想要的。但是 WordPress 标准将这些设置更改为 1
space.
在您的 ruleset.xml 文件中,在包含 WordPress 标准后,将此部分放入:
<rule ref="PEAR.Functions.FunctionCallSignature">
<properties>
<property name="requiredSpacesAfterOpen" value="0"/>
<property name="requiredSpacesBeforeClose" value="0"/>
</properties>
</rule>
以及您想要的任何其他排除项。但不要排除 PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket
和 PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket
错误消息,否则您的函数调用不会出现任何错误。
我们的大部分项目都是 WordPress,虽然我们同意它设定的大部分编码标准,但有些我们不同意并且不想在我们的 自己的私人项目中使用。由于开发人员在网上找到的复制粘贴解决方案,这些分歧的一部分仍然以某种方式最终出现在代码库中,我想用 phpcs 来防止这种情况发生。不仅因为复制粘贴有问题(这些代码片段的质量通常很糟糕),还因为它更难阅读和编辑。
这是 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" />
但是我如何强制不应该有空格?我找不到任何东西。
您实际上并不想排除这 2 个 PEAR 规则。您需要覆盖 WordPress 标准使用的设置,将其从 1
required space 更改为 0
required spaces.
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
spaces,在右大括号之前有 0
spaces大括号,这正是你想要的。但是 WordPress 标准将这些设置更改为 1
space.
在您的 ruleset.xml 文件中,在包含 WordPress 标准后,将此部分放入:
<rule ref="PEAR.Functions.FunctionCallSignature">
<properties>
<property name="requiredSpacesAfterOpen" value="0"/>
<property name="requiredSpacesBeforeClose" value="0"/>
</properties>
</rule>
以及您想要的任何其他排除项。但不要排除 PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket
和 PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket
错误消息,否则您的函数调用不会出现任何错误。