You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义PHPCS规则集(继承WordPress标准)函数开括号规则配置失效求助

解决PHPCS自定义规则开括号同行不生效问题

问题原因

你配置的规则未生效,大概率是因为WordPress代码标准中已经启用了强制开括号换行的规则,优先级覆盖了你的自定义配置;或者仅修改了规则属性,未禁用触发错误的具体检查项。

具体解决步骤

  • 第一步:禁用冲突的具体检查项
    报错的Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine是强制开括号换行的检查项,需先禁用它,再设置自定义属性:

    <rule ref="Squiz.Functions.MultiLineFunctionDeclaration">
        <properties>
            <property name="opening_brace" value="same"/>
            <property name="closing_brace" value="next_line"/>
            <severity>5</severity>
        </properties>
        <!-- 禁用强制换行的检查项 -->
        <exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine"/>
    </rule>
    
  • 第二步:排查WordPress标准的冲突规则
    WordPress代码标准可能集成了PSR系列规则,这些规则也可能强制开括号换行。若上述配置仍不生效,需禁用WordPress相关冲突规则:

    <!-- 禁用WordPress中强制函数开括号换行的规则 -->
    <rule ref="WordPress.Functions.MultiLineFunctionDeclaration">
        <exclude name="WordPress.Functions.MultiLineFunctionDeclaration.BraceOnSameLine"/>
    </rule>
    
  • 第三步:确保自定义规则优先级
    要让自定义配置覆盖WordPress默认规则,需将自定义规则放在WordPress标准引用之后,规则集结构示例:

    <ruleset name="Custom WordPress">
        <!-- 先引用WordPress标准 -->
        <rule ref="WordPress"/>
        <!-- 再添加你的自定义规则 -->
        <rule ref="Squiz.Functions.MultiLineFunctionDeclaration">
            <properties>
                <property name="opening_brace" value="same"/>
                <property name="closing_brace" value="next_line"/>
                <severity>5</severity>
            </properties>
            <exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine"/>
        </rule>
    </ruleset>
    

查找正确规则与属性的方法

  • 执行phpcs --standard=WordPress --list-rules,列出WordPress标准包含的所有规则,定位函数声明相关规则。
  • 针对目标规则,执行phpcs --standard=WordPress --explain=Squiz.Functions.MultiLineFunctionDeclaration,查看该规则的所有属性、取值说明及关联检查项,明确需调整的属性和需排除的检查项。

内容的提问来源于stack exchange,提问作者Ted Logan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 00:35:00