问题标签 [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.
php - PHP Code Sniffer 规则 PEAR.Files.IncludingFile.UseRequireOnce 解释
我正在尝试改进我的编码风格,所以我开始使用 PHP Code Sniffer 来遵循标准。我对这条规则“PEAR.Files.IncludingFile.UseRequireOnce”感到困惑 include_once 有什么问题?禁止这种嗅探是否严重违反标准?
谢谢你的回答和建议。
php - 使用 GrumPHP 运行 PHP CS 修复程序
我正在使用 GrumPhp 来嗅探我在 symfony 项目中的提交:https ://github.com/phpro/grumphp
这是我的配置:
我的问题是:
Grumphp有没有办法在我提交时自动运行php-cs-fixer
?
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
这是 phpmd
和phpcs
安装:
- "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
文件夹。它现在拥有所有必要的文件,但我仍然遇到同样的错误。由于某种原因找不到模块。
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。
wordpress - SublimeLinter:警告:phpcs 已停用,无法找到“phpcs”
我有一个路径问题。我正在尝试设置 SublimeText3 和 WordPress 编码标准。我在 Mac 上工作宽度 XAMPP。
我的 phpcs 文件位于 /Applications/XAMPP/xamppfiles/PHP_CodeSniffer/scripts/
在 SublimeLinter 用户设置中,我将路径放在上面:
不幸的是,编辑器找不到 phpcs:
有人知道我的错误是什么吗?
问候!
编辑:
然后我得到这个错误:
git - Sublime Text 3 - 添加句号的 PHPcs 插件
我对使用 Sublime Text 3 的 phpcs 编码标准有疑问。
问题概述:
我在每个文档中保存时自动运行 phpcs,它的工作非常出色。我有正确的空格和制表符,但是在我提交工作时会出现问题。
我的提交几乎无法阅读,这是因为我的 PSR2 编码标准在行尾添加了句号和逗号。我用谷歌搜索,找不到如何忽略部分编码标准。
例子:
这是一个问题的原因:
正如您在上图中看到的,图片顶部的绿线是自动编辑的线。问题是办公室中使用 PSR2 编码标准的其他人的程序(Atom、Net Beans、Sublime Text 2)没有将这些句号(和逗号)添加到他们的代码中,所以我的提交真的很混乱。
灵魂:
我真的很想清理我的提交并让 phpcs 忽略这些逗号/句号,所以我的提交只包括我实际更改的代码。任何帮助,将不胜感激。
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 - phpcs:检测旧式构造函数
我必须使用一个非常大的代码库,该代码库在过去 11 年中一直在持续开发,维护级别各不相同。
正如人们所期望的那样,较旧的代码有点混乱。周围有大量的 PHP4 构造函数:
此外,还有多个文件,每个文件都声明了多个类。当然,其中只有程序代码的文件(许多带有定义,有些带有实际工作)。
我想使用phpcs
仅针对以下内容运行报告:
- 声明了一个类,并且有一个旧式构造函数
- 如果我们可以跳过那些也声明了 __construct() 的地方,则可以加分。
- 声明了多个类
并忽略其他一切。
我可以使用一些标准的嗅探器来做到这一点吗?或者一种声明自定义规则集来检查这一点的方法?
一个额外的奖励点:检测那些定义了类的文件,并且在类之外有代码。
php - 如何从 phpcbf (phpcs) 获取更多错误信息?
我有一个通过 phpcs 运行的 php 文件。它成功完成并报告 phpcbf 可以修复 1199 个问题。但是,当我运行 phpcbf 时,它会出错,并且在进程结束时没有任何解释。如果我删除文件中大约一半的代码,它将成功运行。我尝试过使用和不使用 switch --no-patch
。我已经尝试过-vv
和-v
(前者是我在论坛中找到的,后者是我自己尝试的)。他们似乎什么也没做。我想知道是否有任何方法可以打印出更多细节,这样我就可以看到它卡在了什么地方?下面是我运行的命令的一些片段。谢谢
pear - phpcs --standard=PHPCompatibility 不起作用
我已经按照官方 git 页面中的所有步骤安装和配置 PHPCompatibility 以检查我的代码与 PHP7 的兼容性,如下所述:
- 安装
PHP_CodeSniffer
使用梨。 - 在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/
之后,我还在终端上执行了以下命令
将 PHPCompatibility 添加到标准
$ phpcs --config-set installed_paths /Applications/MAMP/bin/php/php7.0.12/lib/php/PHP/CodeSniffer/Standards/PHPCompatibility/
测试是否将 PHPCompatibility 添加为标准
$ phpcs -i
我的输出是:
安装的编码标准是 MySource、PEAR、PHPCompatibility、PHPCS、PSR1、PSR2、Squiz 和 Zend
将 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 非常感谢