问题标签 [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 回答
105 浏览

codesniffer - 如何在嗅探中创建多个 USE 语句

我正在对 PHP_CodeSniffer 3.x 进行嗅探。例如,类声明class NoInlineFullyQualifiedClassNameUnitTestInc extends \PSR2R\Base\AbstractBase应拆分为 ausesclass AbstractBase。嗅探检测方法签名的类似问题。

我相信问题在于我use在同一行(即相同的标记)生成和插入多个语句,但是在单独的fixer->beginChangeset()...fixer->endChangeset()序列中这样做。修复程序将同一令牌的多组更改视为冲突,并且事情变得混乱(和错误)。

GitHub问题在这里:https ://github.com/php-fig-rectified/psr2r-sniffer/issues/9

有没有人想出如何为最新的 3.x CodeSniffer 编写自定义嗅探?

0 投票
0 回答
283 浏览

php - 如何解决 PHP 开始标签必须是文件编码标准错误中的第一个内容

错误 。 开始 PHP 标记必须是文件中的第一个内容

我的文件代码

发现影响 1 行的 1 个错误

在此处输入图像描述

代码在这里

0 投票
1 回答
2494 浏览

php - 自定义编码标准嗅探不起作用 - PHP_CodeSniffer_Exception

我正在为在 WordPress 中嗅探代码创建自定义规则集,为此我正在使用 PHP_CodeSniffer。

可以在此处找到自定义规则集:https ://github.com/infinum/coding-standards-wp 。

现在,当我尝试使用它们时,出现此错误

我不知道如何解决这个问题。我像其他人一样搜索并模拟了规则集,但我不知道为什么会发生这种情况。

编辑:

因此,当我在项目中使用 composer 安装标准并运行时

vendor/bin/phpcs --standard=vendor/infinum/coding-standards-wp wp-content/themes/twentyseventeen/functions.php

它有效,只是由于某种原因它没有拾取我的自定义嗅探。

当我将编码标准放在全局安装wpcs的文件夹中时,我的 Sublime 控制台中出现上述错误。

编辑2:

好的,所以我已经wpcs安装在我的主文件夹中。在那里我放置Infinum了文件夹,里面有我的嗅探器。这仅在我删除时才有效

ruleset.xml

我的 Sublime 会捡起它,并且嗅探器(现在没有名称空间)可以正常工作,一切都很好。

当我使用 composer 在项目中安装它时,我再次收到上述错误。

全局加载时的区别(以便 Sublime 可以使用)文件夹结构如下所示

当我在我的项目中使用 composer 安装它时,它位于vendor文件夹内

最终编辑

好的,所以我让它在本地工作。

它拾取自定义嗅探和所有。

但是现在如果我把它放在我的全局 wpcs 文件夹中,我就无法让它工作。好吧,我想我会在全球范围内重做这个,以便它可以与 Sublime 一起使用......

0 投票
1 回答
2885 浏览

php - 强制空格缩进而不是 PHP_CodeSniffer 中的制表符?

在我的自定义嗅探中,我添加了

它适用于内部的功能和控制结构,但例如

return会有Tabs must be used to indent lines, spaces are not allowed错误。

有没有办法检查正确的间距,而不使用制表符,而只使用空格?

0 投票
1 回答
2075 浏览

php - 无法在 windows 10 系统的 wamp 或 xampp 中安装 PHP CodeSniffer

我正在尝试在本地主机中安装代码嗅探器,但无法安装。

系统:Windows 10

PHP:PHP 5.4+

我尝试了以下方法。

  1. 使用管理权限打开命令提示符(选择“以管理员身份运行”)
  2. 转到您的 php 安装目录。例如:\wamp\bin\php\php5.5.12
  3. 运行此命令“ pear install PHP_CodeSniffer ”或“ pear install --alldeps PHP_CodeSniffer

错误:

D:\Projects\wamp\bin\php\php5.5.12>pear install PHP_CodeSniffer No release available for package "pear.php.net/PHP_CodeSniffer" install failed

  1. 然后运行这个命令“ pear clear-cache ”,这也会给出错误,

错误:

D:\Projects\wamp\bin\php\php5.5.12>pear clear-cache C:\Users\pcs9\AppData\Local\Temp\pear\cache 不存在或不是目录

我必须使用代码嗅探器“phpcs”和“phpcbf”但没有安装 PHP_CodeSniffer 它不起作用。

请帮助解决此错误。

提前致谢!

0 投票
1 回答
3596 浏览

php - 需要使用什么嗅探来强制执行 camelCase 变量命名约定?

我正在研究一个专有的遗留代码库,一些变量是驼峰式的,而另一些是蛇式的。我想清理并只强制执行骆驼大小写的变量名,但我似乎无法找到一个嗅探。这是我的自定义规则集的内容。

0 投票
0 回答
498 浏览

php - 如何在 Windows 服务器上安装 PHP Code Sniffer?

我想开始在 PhpStorm 中使用 PHP Code Sniffer,但我不确定如何为我的环境配置它。

我使用 RDP 连接到 Windows 服务器,PhpStorm 安装在这个盒子上。我的开发服务器是 Centos VM。

我认为我需要在 Windows 服务器上安装 PHP 和 PHP Code Sniffer 是否正确?

更新

我尝试遵循此https://confluence.jetbrains.com/display/PhpStorm/IDE+and+Project+Settings+in+PhpStorm

当我浏览到 phpcs 并单击验证时。我收到一条错误消息,指出它不是有效的 Windows 应用程序。

里面应该有批处理文件吗?链接说:

“Composer 将在您的项目中的以下路径下安装 PHP Code Sniffer:./vendor/bin/phpcs 和 ./vendor/bin/phpcs.bat。”

我从这里手动添加了批处理文件https://github.com/squizlabs/PHP_CodeSniffer/blob/master/bin/phpcs.bat

现在,当我单击“验证”按钮时,我得到:@php_bin@ 不被识别为内部或外部命令

接下来是什么?

我的 Windows 机器上需要 PHP 吗?

0 投票
2 回答
1832 浏览

phpstorm - 安装 PHP 代码嗅探器时遇到问题

我正在尝试为 PhpStorm 安装 PHP Code Sniffer,但无法使其正常工作。我一直在按照这里的步骤操作:https ://confluence.jetbrains.com/display/PhpStorm/PHP+Code+Sniffer+in+PhpStorm

我添加了 PHP Code Sniffer 作为 Composer 依赖项,它现在出现在项目目录中。然后我转到代码嗅探器设置页面,在其中输入了PHPCS.bat文件的路径。单击 时Validate,我收到一条错误消息,提示“无法运行 PHP 代码嗅探器”。

错误截图

我是否错过了一个步骤,或者某处是否有一个日志,其中包含有关什么不起作用的更多信息?

0 投票
1 回答
227 浏览

php - 内部缩进

在我们的 PHP 项目中,我们的内部标准是让 PHP 中的所有代码缩进两个空格。例子:

<?php

   class Foo
   {
     ...

我一定对如何配置它感到困惑,因为我总是收到一个错误,即文件在缩进中有“2 个空格,预期为 0”。我该如何适当地配置它?


在我们的 PHP 项目中,我们的内部标准是让 PHP 中的所有代码缩进两个空格。例子:

我一定对如何配置它感到困惑,因为我总是收到一个错误,即文件在缩进中有“2 个空格,预期为 0”。我该如何适当地配置它?


一个回合的方法,但你不能让python直接调用脚本吗?

请参阅此问题以了解如何执行此操作

使用 python 代码运行 .bat 文件

0 投票
1 回答
1955 浏览

php - 多行函数调用未正确缩进

在我使用的编码标准中,我们使用 2 个空格进行缩进

这通常工作正常,但如果我有,例如这个

add_submenu_page()我得到函数的参数在哪里

多行函数调用未正确缩进;预计有 8 个空格,但找到了 6 个

所以“正确”看起来像

但这两个空格太多了。我在github上发现了一些问题,但没有找到解决方案。

如何解决这个问题?