问题标签 [phpcs]

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

php - PHP Code Sniffer 规则 PEAR.Files.IncludingFile.UseRequireOnce 解释

我正在尝试改进我的编码风格,所以我开始使用 PHP Code Sniffer 来遵循标准。我对这条规则“PEAR.Files.IncludingFile.UseRequireOnce”感到困惑 include_once 有什么问题?禁止这种嗅探是否严重违反标准?

谢谢你的回答和建议。

0 投票
2 回答
2779 浏览

php - 使用 GrumPHP 运行 PHP CS 修复程序

我正在使用 GrumPhp 来嗅探我在 symfony 项目中的提交:https ://github.com/phpro/grumphp

这是我的配置:

我的问题是:

Grumphp有没有办法在我提交时自动运行php-cs-fixer

0 投票
2 回答
2572 浏览

sublimetext3 - SublimeLinter:模块 phpcs 和 phpmd 不工作

Sublime Text 3我已经通过Package Manager以下软件包安装:

  • SublimeLinter
  • SublimeLinter-phpmd
  • SublimeLinter-phpcs
  • 和其他几个..

问题是两者phpmd都没有phpcs工作。在 ST3 中打开php文件然后单击:ctrl和 ` 我得到以下调试信息:

我对这两行特别感兴趣:

  • SublimeLinter:警告:phpcs 已停用,无法找到“ phpcs
  • SublimeLinter:警告:phpmd 已停用,无法找到“ phpmd

我试图解决这个问题的是编辑用户配置文件: Sublime text 3: Preferences -> package settings -> sublime linter-> settings - user

然后添加cmd如下密钥:

正如您所猜到的 - 这并没有解决问题。我还尝试在末尾写不带 / 的路径,并尝试使用 \ 分隔符而不是 /。而且我还尝试直接指定 PFAM 文件。并且还尝试使用 ${project} 变量而不是整个 C:/ 路径。ST3 重启后我仍然收到警告。

我的另一个问题是 - 如何在调试窗口中输出“${project}”目录?因为我不确定它是否设置正确,所以我想对其进行测试。

更多信息:

Sublime 项目目录为:C:\xampp\htdocs\web\test.sublime-project

这是 phpmdphpcs安装:

  • "C:\xampp\htdocs\web\vendor\bin\phpcs\phpcbf.phar"
  • "C:\xampp\htdocs\web\vendor\bin\phpcs\phpcs.phar"
  • "C:\xampp\htdocs\web\vendor\bin\phpmd\phpmd.phar"

编辑:

好像我做错了。我在composer.json项目目录中添加了以下内容:

使用命令安装所有内容后composer install- 我vendor为我创建了包含大量目录的文件夹,包括该bin文件夹。它现在拥有所有必要的文件,但我仍然遇到同样的错误。由于某种原因找不到模块。

0 投票
1 回答
232 浏览

php - Sublimetext php-cs-fixer 将命名空间更改为小写

在 Laravel 项目中使用 sublimetext3 时,php-cs-fixer(PHP CS Fixer 版本 1.12.0)将命名空间(App)从大写字母“修复”为小写字母(app)。例如。namespace App\Http\Controllers;namespace app\Http\Controllers;

这会导致 Class not found 错误。

如果有人有建议,我将不胜感激。我也在考虑不使用 php-cs-fixer 而是使用 phpcbf。

0 投票
1 回答
1561 浏览

wordpress - SublimeLinter:警告:phpcs 已停用,无法找到“phpcs”

我有一个路径问题。我正在尝试设置 SublimeText3 和 WordPress 编码标准。我在 Mac 上工作宽度 XAMPP。

我的 phpcs 文件位于 /Applications/XAMPP/xamppfiles/PHP_CodeSniffer/scripts/

在 SublimeLinter 用户设置中,我将路径放在上面:

不幸的是,编辑器找不到 phpcs:

有人知道我的错误是什么吗?

问候!

编辑:

然后我得到这个错误:

0 投票
1 回答
597 浏览

git - Sublime Text 3 - 添加句号的 PHPcs 插件

我对使用 Sublime Text 3 的 phpcs 编码标准有疑问。

问题概述:

我在每个文档中保存时自动运行 phpcs,它的工作非常出色。我有正确的空格和制表符,但是在我提交工作时会出现问题。

我的提交几乎无法阅读,这是因为我的 PSR2 编码标准在行尾添加了句号和逗号。我用谷歌搜索,找不到如何忽略部分编码标准。

例子:

该图显示了我的提交差异与句号

这是一个问题的原因:

正如您在上图中看到的,图片顶部的绿线是自动编辑的线。问题是办公室中使用 PSR2 编码标准的其他人的程序(Atom、Net Beans、Sublime Text 2)没有将这些句号(和逗号)添加到他们的代码中,所以我的提交真的很混乱。

灵魂:

我真的很想清理我的提交并让 phpcs 忽略这些逗号/句号,所以我的提交只包括我实际更改的代码。任何帮助,将不胜感激。

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 投票
2 回答
262 浏览

php - phpcs:检测旧式构造函数

我必须使用一个非常大的代码库,该代码库在过去 11 年中一直在持续开发,维护级别各不相同。

正如人们所期望的那样,较旧的代码有点混乱。周围有大量的 PHP4 构造函数:

此外,还有多个文件,每个文件都声明了多个类。当然,其中只有程序代码的文件(许多带有定义,有些带有实际工作)。

我想使用phpcs仅针对以下内容运行报告:

  • 声明了一个类,并且有一个旧式构造函数
    • 如果我们可以跳过那些也声明了 __construct() 的地方,则可以加分。
  • 声明了多个类

并忽略其他一切。

我可以使用一些标准的嗅探器来做到这一点吗?或者一种声明自定义规则集来检查这一点的方法?

一个额外的奖励点:检测那些定义了类的文件,并且在类之外有代码。

0 投票
0 回答
1138 浏览

php - 如何从 phpcbf (phpcs) 获取更多错误信息?

我有一个通过 phpcs 运行的 php 文件。它成功完成并报告 phpcbf 可以修复 1199 个问题。但是,当我运行 phpcbf 时,它会出错,并且在进程结束时没有任何解释。如果我删除文件中大约一半的代码,它将成功运行。我尝试过使用和不使用 switch --no-patch。我已经尝试过-vv-v(前者是我在论坛中找到的,后者是我自己尝试的)。他们似乎什么也没做。我想知道是否有任何方法可以打印出更多细节,这样我就可以看到它卡在了什么地方?下面是我运行的命令的一些片段。谢谢

0 投票
1 回答
2369 浏览

pear - phpcs --standard=PHPCompatibility 不起作用

我已经按照官方 git 页面中的所有步骤安装和配置 PHPCompatibility 以检查我的代码与 PHP7 的兼容性,如下所述:

  1. 安装PHP_CodeSniffer使用梨。
  2. 在https://github.com/wimg/PHPCompatibility/releases上下载并提取最新版本(PHP 7.1 Sniffs - 更新 2016-12-14)到目录/Applications/MAMP/bin/php/php7.0.12/lib/php/PHP/CodeSniffer/Standards/PHPCompatibility/

之后,我还在终端上执行了以下命令

  1. 将 PHPCompatibility 添加到标准

    $ phpcs --config-set installed_paths /Applications/MAMP/bin/php/php7.0.12/lib/php/PHP/CodeSniffer/Standards/PHPCompatibility/

  2. 测试是否将 PHPCompatibility 添加为标准

    $ phpcs -i

我的输出是:

安装的编码标准是 MySource、PEAR、PHPCompatibility、PHPCS、PSR1、PSR2、Squiz 和 Zend

  1. 将 testVersion 设置为 PHP 7

    $ phpcs --runtime-set testVersion 7.0 test.php正确打印 test.php 的报告

但是当我尝试将 PHPCompatibility 设置为标准时,会发生任何事情,终端会跳到新行以输入下一个命令。

在尝试将 PHPCompatibility 设置为我的标准时,谁能告诉我遗漏了什么或做错了什么?我测试了 phpcs --standard=Zend 并且它工作正常。

我正在运行 MAMP 4.0.6 设置为 PHP 7.0.12 非常感谢