2

我们将 php-cs-fixer 和 PHPCodeSniffer 工具用于我们的编码标准。当有不同的规则时,两者都可能发生冲突。我们能够得到一个平衡的结果,除了一个规则。PHP Code Sniffer 引发的警告:

phpcs: Opening parenthesis of a multi-line function call must be the last content on the line
phpcs: Closing parenthesis of a multi-line function call must be on a line by itself

这两个警告可能是由 PEAR.Functions.FunctionCallSignature 规则引起的。我们无法使用我们的 php-cs-fixer 自定义配置自动修复此问题:

https://pastebin.com/F4fpUTek

所需结果的示例
修复后:

$response = $this->client->post('users/authenticate', [
    'form_params' => [
        'email'    => $email,
        'password' => $password,
    ],
]);

预期输出:

$response = $this->client->post(
    'users/authenticate',
    [
        'form_params' => [
            'email'       => $email,
            'password'    => $password,
        ],
    ]
);

有没有办法实现以前的输出?

4

1 回答 1

0

我能够通过使用适当的工具来解决问题。我们意识到php-cs- fixer在 PHP Codesniffer中的效果不如phpcb。正如 Github 页面中提到的:

“PHP_CodeSniffer 是一组两个 PHP 脚本;主要的 phpcs 脚本对 PHP、JavaScript 和 CSS 文件进行标记以检测违反定义的编码标准,第二个 phpcbf 脚本自动纠正违反编码标准的情况。PHP_CodeSniffer 是一个必不可少的开发工具,确保您的代码保持干净和一致。”

https://github.com/squizlabs/PHP_CodeSniffer

我们使用了 phpcb,现在一切正常。

于 2019-11-26T17:57:57.987 回答