问题标签 [phpcodesniffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1706 浏览

php - php codesniffer 什么都不返回……我的代码是标准的吗?

我有一个 laravel 应用程序(使用 composer 创建),我试图确保它符合 PHP 编码标准(级别 PSR-1)。我跑:

在几秒钟内,它返回一个新的、空的、准备就绪的命令行:

这是否意味着我的代码符合 PSR-1 中的所有要求和标准?它只做同样的事情:

我只是想确保如果命令什么都不返回,这意味着我的代码是标准的。谢谢!

0 投票
1 回答
244 浏览

php - PhpStorm 代码嗅探器仅显示前 100 个错误

我该如何扩展这个数字,因为我有 5000 行代码,其中有 8000 个错误(从命令行知道phpcs),但它只能在 PhpStorm 中显示前 100 个?!

0 投票
2 回答
1172 浏览

php - PSR2 代码风格和 PHP Code Sniffer 不一致?

Editor > Code Style > PHP我已经从as设置了我的编辑器代码样式设置Predefined Style >PSR1/PSR2。我还安装并配置了 PHP Code Sniffer 和 PHP Mess Detector。每当我使用格式化代码时,CTRL+ALT+L都会遇到以下问题:

在此处输入图像描述

这是为什么?原始代码看起来像(我认为不是很有帮助,但无论如何它在这里):

0 投票
1 回答
178 浏览

php - PHP Codesniffer 自定义规则:常量 ::class 而不是字符串

在我的一个客户的代码库中,我看到很多对合格类名的引用作为字符串;

而不是使用:

出于几个原因,我们想要添加一个 PHP CodeSniffer 规则来捕获这些字符串并添加一个警告,以便可以将字符串重构为 ::class 常量。第一部分(捕获字符串)很容易,但是因为我们正在进行静态代码分析,所以我们不能(例如)执行 class_exists 或查找 get_declared_classes() 的结果。

下一个选项可能是分析字符串本身([A-Za-z0-9]),但这不是很可靠,因为很多字符串会匹配但并不意味着是类名。

另一种选择是首先“收集”所有类名(基于 T_CLASS 令牌),然后根据收集的类列表分析所有字符串。恕我直言,实现起来不是很容易,因为 CodeSniffer 是在每个文件的基础上工作的。

我能想到的最后一个选项也很脏;因为我们总是在我们的项目中使用作曲家,所以我们可以使用作曲家的自动加载文件并尝试匹配类映射和命名空间。也不是很可靠和干净。

有人提出我们没有考虑过的其他建议吗?

0 投票
1 回答
4411 浏览

php - 是否有任何 Symfony CodeSniffer 规则集

我一直在尝试在 Symfony 项目上使用 PHP_CodeSniffer,但它通常会引发 Symfony 社区通常不会遵循的警告(比如注释参数标签或不在函数文档中对参数和返回进行分组)

我想知道 Symfony 是否有任何官方或非官方但维护良好的规则集

我找到了这个: https ://github.com/djoos/Symfony2-coding-standard 看起来不错,但已经有一段时间没有更新了

0 投票
1 回答
1663 浏览

codesniffer - PhpCS 排除嗅探不起作用

7.0在我的机器上运行 Php,但我需要检查在两者中执行的代码7.05.6. 因此,我得到了很多

Squiz.Commenting.FunctionComment.ScalarTypeHintMissing

使用-s标志时出错。

我已经通过 composer 为一个安装了2.6. 因为我想将该--exclude标志用于我2.7通过 Composer 全局安装的多个项目。

我正在尝试使用新--exclude标志,但我不断遇到问题。首先我试过

但它抱怨嗅探不存在,所以我删除了Squiz前缀并运行了 phpcs,但忽略了该标志。我尝试了许多嗅探,但没有排除任何东西。

我也尝试过--sniffs标志,再次忽略嗅探。我无法理解我在忽略什么。

我需要通过 CLI 忽略这些嗅探。

作为参考,phpcsdocblocks.xml 包含

编辑:如果有人能告诉我在哪里可以找到 ubuntu 上的 phpcs 全局配置文件,则可以加分

0 投票
1 回答
718 浏览

php - 自定义代码嗅探器规则/嗅探

我正在寻找扩展 CodeSniffer 的 PSR2 标准的自定义规则,但找不到可靠的解决方案。

这是一个示例代码:

在分配变量时,我需要在== >= <=and周围加上空格。!=$var3 = 1;=>

我创建了一个名为MyStandard扩展 PSR-2 的自定义标准,我在其中设置了圈复杂度、行长和制表符缩进而不是空格的规则,但无法解决最后的问题。

编辑:我当前的 ruleset.xml 看起来像这样:

0 投票
1 回答
75 浏览

php - PhpStorm。代码嗅探器。看不到评论区

PHP CodeSniffer 看不到来自 PhpStorm 检查的文档块,但可以从 CLI 中看到它们。如何解决?

这是一个例子。

从检查

在此处输入图像描述

从 CLI

在此处输入图像描述

0 投票
1 回答
351 浏览

php - phpcs 错误引用了旧项目路径——如何更新路径?

当我运行 phpcs 时,它会打印一个错误,该错误引用了我的项目以前所在的路径,但不再位于...

PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'DirectoryIterator::__construct(/my/old/directory/public_html/coder/coder_sniffer): failed to open dir: No such file or directory' in /usr/share/php/PHP/CodeSniffer.php:2159

如何修复 my/old/directory 路径?

0 投票
0 回答
2173 浏览

phpcodesniffer - phpcs 报告了带有注释的错误 phpcbf 可以修复这些标记的错误,但 phpcbf 声称没有找到可修复的错误

报告是

发现影响 15 行的 10 个错误和 5 个警告

... 236 | 错误 | [x] 行缩进不正确;预计 4 个空格,...

PHPCBF 可以自动修复 10 个标记的嗅探违规行为

然后我跑

处理 myfile.php [PHP => 437 行中的 3001 个令牌]...在 77 毫秒内完成(10 个可修复的违规行为)

未发现可修复的错误

时间:4.68 秒;内存:26.75Mb

我在 Laravel 供应商文件夹中本地运行 php_codesniffer。

谢谢