【问题标题】:How do I prevent PHP CS Fixer from fixing specific function names?如何防止 PHP CS Fixer 修复特定的函数名称?
【发布时间】:2021-04-03 04:52:31
【问题描述】:

当使用 PHP CS Fixer 解决文件保存时的语法错误并使用 Symfony 规则集时,任何不是 camelCase 的函数名称都将被更正(如预期的那样) .

然而,在编写基于 PHP 单元的测试时,通常的做法是使函数名称为 snake_case。这通常意味着 PHP CS Fixer 会自动解决问题,即使在不需要时也是如此。

是否可以在函数上方放置特定的注释来防止这种情况发生?

【问题讨论】:

    标签: php annotations phpcs php-cs-fixer


    【解决方案1】:

    PHP CS Fixer 没有将所有函数名称从 snake_case 更改为 camelCase 的规则。

    但是,有一条规则 php_unit_method_casing 强制 PHPUnit 测试方法使用驼峰(或蛇形)大小写,而在 Symfony 规则集中,它使用默认值,即驼峰大小写。

    这是您想要更改的内容,方法是使用非默认版本覆盖 Symfony 规则集中的规则:

    [
        'php_unit_method_casing' => ['case' => 'snake_case'],
    ],
    

    【讨论】:

      【解决方案2】:

      根据this Github issue,不允许每个代码块出现异常是一项设计决策。

      如果您的单元测试位于单独的目录甚至单独的文件中,您可以按照project's docs 中的说明相应地使用excludenotPath

      【讨论】:

        猜你喜欢
        • 2018-08-04
        • 1970-01-01
        • 2018-02-28
        • 1970-01-01
        • 2018-02-11
        • 1970-01-01
        • 2018-02-12
        • 2017-11-26
        • 1970-01-01
        相关资源
        最近更新 更多