问题标签 [codesniffer]

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 回答
112 浏览

php - 扩展 phpcodesniffer 以根据错误代码过滤报告

我正在尝试扩展 PHPCodeSniffer。我想要实现的是使用错误代码过滤报告。

为了解释这一点,假设我有一条错误消息,例如“错误代码:630,功能不兼容”

当我从命令行运行 PHPCS 时,我应该能够传递一个参数“错误代码”,以便根据它过滤报告。(只显示错误代码的结果,比如 630)

例如

输出将是

实现它的最佳方法是什么?据我了解,我们只能根据严重性进行过滤,因为它具有内置支持。

我想避免修改PHPCodeSniffer. 我想做的是编写一个包装脚本,它将接受来自 CLI 的参数并执行 PHPCS 捕获 o/p 并在扔到控制台之前对其进行操作。但是,我认为这不是最好的解决方案.

0 投票
3 回答
1225 浏览

php - 如何为 PHP_Codesniffer 标准创建 PHP-UnitTest 案例?`

我创建了自己的代码嗅探器规则标准。它们运行良好。现在我想使用 PHP UnitTest 测试代码嗅探器规则。PhpCodesniffer 已经有了他们的 PHPUnit 测试用例框架。

因此,我使用它AbstractSniffUnitTest在位置扩展了他们的单元测试类, Standards/TestRules/Tests/Function/FunctionUnitTest.php并将要测试的脚本保存在Standards/TestRules/Tests/Function/FunctionUnitTest.inc.

但是当我要通过命令运行脚本时phpunit PEAR\PHP\tests\AllTests.php,它会给出以下错误。

FunctionUnitTest.inc它给出了在给定位置找不到的错误文件。我已授予文件夹的完全权限,还验证了路径和文件位置,但它给出了同样的错误。我也在linux机器上测试过它,但它给出了同样的错误。

是我的代码问题还是代码嗅探器单元测试框架问题?

0 投票
1 回答
232 浏览

php - 带有 atlassian 助手的 php + mysql 的版本控制和开发过程设置

我一直在进行一些研究,试图为一个 20 多人、负责多个项目的开发团队配置一个良好的开发和发布流程。

我想使用 GIT 作为版本控制系统,因为它易于使用、设置、备份等等。我试图通读几个 svn 指南,我意识到我没有时间设置一个复杂的过程。我能够在 linux 和 windows 上找到 git 客户端支持,因此对此感到满意。

现在为了启用多项目身份验证和访问,我开始在 git 上使用 gitosis 并且能够获得我需要的功能。

现在我正在寻找专门设置预提交服务器挂钩,以确保我的开发人员彻底遵循 phpcs,如果他们不这样做,我不希望他们签入。现在是 GIT 给我带来问题的地方。GIT 是否存在服务器端预提交挂钩检测?我环顾四周,但当这种需要出现时,人们正在使用 SVN。后来也许我想为jabascript和css配置类似的钩子,因为我们广泛使用它们,我发现类似于phpcs的东西叫做Squiz。我希望使用它。

此外,我正在寻找设置 hudson 以与 JIRA 和 GIT 集成,以便为每个项目设置构建和迭代。是否有需要在这里寻找的陷阱或这个设置不起作用?如果这可行,我可以指向一些文件,在那里我可以看到它将如何为我工作?

0 投票
1 回答
159 浏览

php - 奇怪的 PHPCS 错误信息

我在 php 类中有以下代码段:

phpcs 抱怨 'while' 行:

0 投票
2 回答
4297 浏览

php - 使用 PHP_CodeSniffer 忽略特定警告

我正在开发一个密码工具模块,其中一部分是使用 base64 编码/解码。结果,出于显而易见的原因,我有许多变量,其中包括术语“base64”。问题是,当我运行 PHP_CodeSniffer 工具时,它会引发警告:"Variable "...64" contains numbers but this is 不鼓励"

有没有办法告诉 PHP_CodeSniffer 忽略此特定文件的这些警告?我确信有充分的理由避免使用数字,但在这种情况下,我宁愿使用'base64'而不是'baseSixtyFour' ...

这就是我运行 PHP_CodeSniffer 的方式:

0 投票
2 回答
3979 浏览

php - 为特定文件夹触发 SVN 预提交挂钩

我们客户的一个 SVN 存储库在单个存储库下有很多项目。现在我想通过预提交挂钩检查其中一个项目的编码标准。

如果我配置预提交,它将影响存储库中的所有项目(文件夹),我如何告诉钩子脚本仅在来自特定文件夹(或项目)的文件时触发(检查编码标准) ) 承诺。

更新

编码标准是 Zend 有意设计的,我将使用PHPCS(PHP 编码标准)来验证编码标准。

0 投票
2 回答
763 浏览

php - 如何通过 PHP_CodeSniffer 捕获 PHP 反引号运算符的使用?

我从CodeSniffer 1.3 版附带的“Generic”和“Squiz”编码标准中研究了一些“嗅探” ,并学会了编写一些“自定义”嗅探来捕捉一些特定于 PHP 的编码反模式我正在做的项目。

但是现在我的老板要我使用该工具来识别代码调用 exec()、popen()、passthru() 或使用反引号运算符运行“外部”命令的所有地方,我已经打了一个处理反引号的障碍。

CodeSniffer 1.3 发行版附带的 Generic_Sniffs_PHP_ForbiddenFunctionsSniff 类使得识别对 exec()、popen() 和 passthru() 等“危险函数”的任何调用基本上是微不足道的,因此这部分很容易。

但是我在“股票”嗅探中看不到任何对反引号运算符的引用,也没有在任何 CodeSniffer 逻辑本身中看到任何对反引号运算符的提及——尽管我可能找错了地方(我花了一段时间才例如,找出“->”实际上是 T_OBJECT_OPERATOR)。

所以我的问题是:

我可以使用 PHP_CodeSniffer 来检测 PHP 代码中反引号运算符的使用,如果可以,如何?

0 投票
2 回答
8242 浏览

php - 在 Windows 7 64 位上使用 Netbeans 7.0.1 安装 PHP CodeSniffer

我正在尝试在装有 Windows 7 64 位的计算机上安装 PHP_CodeSniffer 和 Netbeans。

至今...

1) 我从https://github.com/beberlei/netbeans-php-enhancements/downloads下载了 de-whitewashing-php-cs-1.1.1.nbm 文件,

2)安装插件,

但是当我转到 Tools->Options 时,它会通过浏览按钮请求 Code Sniffer Script,我不知道该文件是什么,如果选择 phpcs.bat 则在下一个 Standard 下拉列表中没有任何显示。菜单项显示代码标准违规被禁用。我该如何安装?谢谢!吉列尔莫。

在此处输入图像描述

0 投票
4 回答
3784 浏览

php - PHPCodeSniffer HTML 报告?

PHPCodeSniffer 是否生成 HTML 报告?

如果不?如何?

目前,我可以运行 PHPCodeSniffer,但它只生成 XML 文件并在终端中显示结果。

如何生成 HTML 报告,如 phpunit 中的覆盖率和单元测试报告。

目前我使用 PHPCheckStyle 因为它生成 html 报告,但我也想尝试 PHPCodeSniffer 以了解哪个是最好的。

0 投票
0 回答
157 浏览

php - PHP_CodeSniffer 不遵循提供的外部标准

我有一个外部标准,它是从 Sonar 中获得的。我使用 --standard=/path/to/standard.xml 方法指定标准。如果那不是有效文件,我会收到错误消息。所以它正在读取和解析文件。

我的问题出在输出中,它包括几个我的标准没有告诉它使用的嗅探。我收到了大量关于 Jenkins 的误报。声纳至少会剔除那些不在该标准中的内容。例如,我关闭了所有的句号规则,但它们仍然出现在我的报告中。

我正在运行 PHP_CodeSniffer 1.3.2 版。