问题标签 [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.
php - php codesniffer 什么都不返回……我的代码是标准的吗?
我有一个 laravel 应用程序(使用 composer 创建),我试图确保它符合 PHP 编码标准(级别 PSR-1)。我跑:
在几秒钟内,它返回一个新的、空的、准备就绪的命令行:
这是否意味着我的代码符合 PSR-1 中的所有要求和标准?它只做同样的事情:
我只是想确保如果命令什么都不返回,这意味着我的代码是标准的。谢谢!
php - PhpStorm 代码嗅探器仅显示前 100 个错误
我该如何扩展这个数字,因为我有 5000 行代码,其中有 8000 个错误(从命令行知道phpcs
),但它只能在 PhpStorm 中显示前 100 个?!
php - PHP Codesniffer 自定义规则:常量 ::class 而不是字符串
在我的一个客户的代码库中,我看到很多对合格类名的引用作为字符串;
而不是使用:
出于几个原因,我们想要添加一个 PHP CodeSniffer 规则来捕获这些字符串并添加一个警告,以便可以将字符串重构为 ::class 常量。第一部分(捕获字符串)很容易,但是因为我们正在进行静态代码分析,所以我们不能(例如)执行 class_exists 或查找 get_declared_classes() 的结果。
下一个选项可能是分析字符串本身([A-Za-z0-9]),但这不是很可靠,因为很多字符串会匹配但并不意味着是类名。
另一种选择是首先“收集”所有类名(基于 T_CLASS 令牌),然后根据收集的类列表分析所有字符串。恕我直言,实现起来不是很容易,因为 CodeSniffer 是在每个文件的基础上工作的。
我能想到的最后一个选项也很脏;因为我们总是在我们的项目中使用作曲家,所以我们可以使用作曲家的自动加载文件并尝试匹配类映射和命名空间。也不是很可靠和干净。
有人提出我们没有考虑过的其他建议吗?
php - 是否有任何 Symfony CodeSniffer 规则集
我一直在尝试在 Symfony 项目上使用 PHP_CodeSniffer,但它通常会引发 Symfony 社区通常不会遵循的警告(比如注释参数标签或不在函数文档中对参数和返回进行分组)
我想知道 Symfony 是否有任何官方或非官方但维护良好的规则集
我找到了这个: https ://github.com/djoos/Symfony2-coding-standard 看起来不错,但已经有一段时间没有更新了
codesniffer - PhpCS 排除嗅探不起作用
我7.0
在我的机器上运行 Php,但我需要检查在两者中执行的代码7.0
和5.6
. 因此,我得到了很多
Squiz.Commenting.FunctionComment.ScalarTypeHintMissing
使用-s
标志时出错。
我已经通过 composer 为一个安装了2.6
. 因为我想将该--exclude
标志用于我2.7
通过 Composer 全局安装的多个项目。
我正在尝试使用新--exclude
标志,但我不断遇到问题。首先我试过
但它抱怨嗅探不存在,所以我删除了Squiz
前缀并运行了 phpcs,但忽略了该标志。我尝试了许多嗅探,但没有排除任何东西。
我也尝试过--sniffs
标志,再次忽略嗅探。我无法理解我在忽略什么。
我需要通过 CLI 忽略这些嗅探。
作为参考,phpcsdocblocks.xml 包含
编辑:如果有人能告诉我在哪里可以找到 ubuntu 上的 phpcs 全局配置文件,则可以加分
php - 自定义代码嗅探器规则/嗅探
我正在寻找扩展 CodeSniffer 的 PSR2 标准的自定义规则,但找不到可靠的解决方案。
这是一个示例代码:
在分配变量时,我需要在==
>=
<=
and周围加上空格。!=
$var3 = 1;
=>
我创建了一个名为MyStandard
扩展 PSR-2 的自定义标准,我在其中设置了圈复杂度、行长和制表符缩进而不是空格的规则,但无法解决最后的问题。
编辑:我当前的 ruleset.xml 看起来像这样:
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 路径?
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。
谢谢