问题标签 [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 投票
1 回答
18 浏览

eclipse - 在 Eclipse 中清除 phpcodesniffer 标记

Phpcodesniffer 在我的源文件中添加了很多基于 PSR1、PSR2 标准的标记。其中许多与标签和空格等代码格式有关。

我想在我的开发后期清除当前标记并运行代码嗅探器,而不是在当前阶段。

我的搜索没有产生任何结果。

我在下面发布了我的编辑器屏幕的示例。

我怎样才能清除标记。

eclipse中的PHPCodeSniffer标记

0 投票
1 回答
120 浏览

php - 如何在 PHP Codesniffer 中覆盖 allowedTypes

我已经成功安装并运行了 PHP CodeSniffer。我还设法编写了自己的自定义嗅探器。

有一个我无法弄清楚的问题 - 如何覆盖主类$allowedTypes中定义的变量:PHP_CodeSniffer

我想在这个数组中添加 'bool' 和 'int' 选项,但没有猴子修补核心存储库。

0 投票
1 回答
416 浏览

php - 在 Mac 上运行代码嗅探器

我正在尝试安装 php 代码嗅探器。我已经设法达到运行后 php /Users/ryanfernandes/pear/bin/phpcs --version显示信息的地步。但是当我尝试运行代码嗅探器时

任何帮助将非常感激。

谢谢

0 投票
0 回答
290 浏览

php - 将 CodeSniffer 与 Komodo IDE 集成以嗅探远程文件

我将 CodeSniffer 与 Komodo 集成,我正在尝试 CodeSniff 远程 (SCP) 文件。我的问题是 CS 试图打开文件而不是读取编辑器窗格中的内存。它无法打开 SCP URL 并失败。有没有人成功让 CodeSniffer 查看远程文件的“本地”版本?

0 投票
1 回答
2947 浏览

php - Eclipse 插件 PHP_CodeSniffer 的 PSR-2 CodeSniffer 标准

我正在使用这个 Eclipse 插件 ( http://www.phpsrc.org/projects/pti-php-codesniffer/wiki/ ) 来检查 PHP 代码样式。

这个插件带有一些检查标准,但 PSR-2 没有。

该插件允许通过提供文件来定义自定义标准。

我已经下载了这个 psr2 标准(https://github.com/squizlabs/PHP_CodeSniffer/tree/master/CodeSniffer/Standards/PSR2)并像自定义标准一样在 eclipse 插件中定义。

但它不起作用(eclipse 没有告诉我我有任何错误)。如果我配置无自定义标准(包含插件的标准),它会这样做。

有这个问题的人吗?配置 Eclipse 的任何其他方式来告诉我(在我编码时)PSR-2 不合规代码在哪里?

0 投票
1 回答
241 浏览

phpcodesniffer - PHP_CodeSniffer PEAR.Commenting.FunctionComment.ParamNameNoMatch 错误

我的源代码使用 PHP_CodeSniffer 生成以下错误。“var &$myVar 的文档注释与位置 2 处的实际变量名称 $myVar 不匹配”

PEAR.Commenting.FunctionComment.ParamNameNoMatch

编码:

可能是什么原因?

0 投票
1 回答
670 浏览

php - 从不在标准目录中的规则集中引用自定义 php 代码嗅探器

我有一个带有一些自定义嗅探的规则集。我的项目目录/存储库中有规则集,但我不知道如何将自定义嗅探保留在那里。

如果我将相对链接放入规则集中:

然后它抛出这个错误:

所以相对路径是从 CodeSniffer.php 文件而不是从规则集中计算出来的。

是否可以在不使用绝对路径的情况下使规则集指向自定义嗅探?

我需要使用相对路径,因为这是一个具有多个实例的存储库。

0 投票
2 回答
4953 浏览

php - 识别字符串是否为驼峰式

我试图让 PHP_CodeSniffer 检查类名中的 camelCase,但在我看来,camelCase 检查是不可能的(没有字典,包括技术词)。

我已经在互联网上搜索过,但到目前为止,我看到的唯一选择是字符串是否有一些通用的分隔符可以从中分解——即下划线、单词之间的空格等。

甚至这也没有用,因为只有在名称准确/始终包含每个单词之间的分隔符时,检查才能准确。
“检查”的重点是确定名称是否格式不正确,这可能包括不正确分隔。

此外,PHP_CodeSniffer 上的资源要么很少见,要么非常基础和技术性强,只有作者/开发人员才能理解。

当前标准嗅探检查

我在一些当前的 Sniffs(即 Squiz 和 PEAR 标准)中找到了这段代码:

但是,我查看了 PHP_CodeSniffer 核心代码,该函数仅执行以下操作:

这些基本检查总比没有好,尽管可以说对于它们的预期目的毫无用处,因为它们根本没有真正检查 camelCase。

问题

嗅探器(或即 PHP 脚本)如何知道在给定字符串中检查哪些“单词”以识别字符串是否为 100% 驼峰式?


编辑

例子

正确的驼峰式:class calculateAdminLoginCount

isCamelCaps()函数(或任何 PHP 脚本)如何捕获上述两个示例?

函数或 PHP 脚本如何从字符串中识别“单独的单词”,当它没有“单词”的概念而不提供该信息(即来自字典)时?

即使一个脚本在哪里爆炸,它会根据什么爆炸?

采取class calculateadminLogincount
任何PHP脚本如何识别该calculate admin Login count字符串中的不同单词然后能够检查:第一个字母第一个单词是小写,然后所有后续单词第一个字母都是大写?

isCamelCaps()功能

编辑 2

对于那些想知道这是否值得,或者我只是在“玩弄”和“玩得开心”的人的一些信息:

必须在整个过程中正确命名类名,因为文件/文件夹结构以及名称和类名必须匹配才能使自动加载器可靠地工作。

虽然我检查了核心代码本身以检查和处理无法加载脚本、类等的此类问题(当然),但附加脚本(PHP_CodeSniffer)运行所有文件并告诉我潜在的位置并没有错问题可能在于。
即使只是为了进行第二次检查,尤其是因为它还可以确保代码库整洁、结构正确并且始终具有连续性。

0 投票
1 回答
144 浏览

php - 确定 PHP_CodeSniffer 是否正在嗅探抽象(或最终)类

我在 PHP_CodeSniffer 中编写了一个 Sniff 来检查类名,我的抽象类名与非抽象类有一些不同的命名要求。

如何确定当前 Sniff 是否正在嗅探抽象类?

0 投票
0 回答
1770 浏览

vagrant - 通过共享文件夹使用远程解释器将 Vagrant 和 PHPStorm 与 Composer/PHPCS 集成?

我正在使用由 Puphpet 创建的 Vagrant VM,运行 Ubuntu 14.04 以开发 Wordpress 站点。我使用 Composer 来管理 PHP 依赖项,Composer 是通过 Puphpet 作为系统服务自动安装的,所以没有 .phar 文件,只有 .phar 中的一个可执行 Composer 文件/usr/local/bin/composer

我也使用 PHPStorm 作为我的主要 IDE,并且喜欢它的远程解释器功能。到目前为止,PHPUnit 是唯一支持它的功能,因为 Composer 和 PHP Codesniffer 需要安装本地 PHP 解释器才能使用。当与 Vagrant 一起使用时,这种方式违背了 PHPStorm 中 Composer/PHP Codesniffer 工具的目的。Jetbrains 声称他们没有计划在不久的将来添加此功能。

这引出了我的问题——是否可以在我的 VM 中为 PHP 可执行文件设置一个共享文件夹,并在 Composer 设置窗口中将其用作我的远程解释器?

我也可以使用 PHPStorm 在代码嗅探器设置面板中对我的 PHPCS 可执行文件路径执行相同的操作吗?

我唯一无法设置共享文件夹的是 composer.phar 文件,它是在 PHPStorm 中运行 Composer 工具所需的,因为我的 VM 中没有 composer.phar 文件,因为它只是一个可执行文件正如/usr/local/bin/composer我之前描述的那样。那么解决方案是将 composer.phar 文件下载到我的主机目录中的某个位置吗?这会干扰在 VM 上安装 Composer 吗?

*更新:正如 Sven 向我解释的那样,/usr/local/bin/composer 中的 Composer 文件是 composer.phar 文件。我有点理解这一点,但仍然不确定是否。PHPStorm 会这样识别它,并且 b。如果创建共享文件夹甚至可以工作。

我添加了设置面板的图像,以便您了解我在说什么。

谢谢,如果您需要更多信息,请告诉我。

在此处输入图像描述

在此处输入图像描述