- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试为特定框架“指南”创建自定义规则集。但是,我希望能够将嗅探限制为仅与 .php 或 .phtml 文件类型相关。
这是否可能让 Sniffs 仅使用或忽略定义的文件类型,或者我是否需要在 sniffs process() 方法中进行此检查?
最佳答案
您可以在规则集中使用正则表达式指定排除模式。通过使用否定前瞻(如果您愿意,也可以在后),您可以将特定的嗅探或错误消息限制为与模式匹配的文件。
此示例仅对 .phtml 文件运行 DoubleQuoteUsage 嗅探:
<rule ref="Squiz.Strings.DoubleQuoteUsage">
<exclude-pattern>*\.(?!phtml$)</exclude-pattern>
</rule>
但当前的 PHPCS 版本使用 |
作为正则表达式的分隔符,转义该字符在 PHP 中似乎不起作用。我刚刚在 phpcs-fixer 分支(发布的 2.x 行)中对此进行了更改,允许您这样做:
<rule ref="Squiz.Strings.DoubleQuoteUsage">
<exclude-pattern>*\.(?!(php$|phtml$))</exclude-pattern>
</rule>
如果您想试一试,可以克隆 git 存储库, checkout phpcs-fixer 分支并直接运行代码。或者您可以通过 composer 要求 2.0.*@dev
。
如果没有,您将需要在嗅探的 process() 方法中自行检查文件名。
关于PHPCS 对文件类型的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23791936/
场景 有时,我想运行 PHPCS,但让它忽略一个规则,在本例中是 Camel Case Method Name 规则。 我知道我可以创建一个新的规则集,它从另一个规则集继承所有规则集,并排除一个规则集
我有以下代码: /** * @param TranscodingJob $transcodingJob * * @return TranscodingJob * @throws \Lexik\
当我输入 phpcs --version 时,我没有得到版本号,而是得到了这样的信息: /Applications/drupal/php/bin/phpcs: line 2: ?php: No suc
我目前正在清理现有的代码库,其中一个方面涉及使用 PHPCS。这是我的phpcs.xml当前文件: vendor/* node_m
我正在尝试为特定框架“指南”创建自定义规则集。但是,我希望能够将嗅探限制为仅与 .php 或 .phtml 文件类型相关。 这是否可能让 Sniffs 仅使用或忽略定义的文件类型,或者我是否需要在 s
我正在使用 laravel 4.2。 假设有这样一个类: class BShopsController extends ShopsController 为了解决这个问题,我尝试使用命名空间让我们这样说
我了解如何使用 xml 配置 phpcs,但找不到如何禁用某些嗅探。这是我目前的配置(甚至不知道这是否正确):
我在我的机器上运行 Php 7.0,但我需要检查在 7.0 和 5.6 中执行的代码。因此,我得到了 Squiz.Commenting.FunctionComment.ScalarTypeHintMi
我也花了几个小时在谷歌上搜索答案,然后再问,在 phpcs 中我有这个错误“未指定 PHP 版本”,但我在谷歌上找不到答案,最终我遇到了这个“PHP 版本 5”清除了错误,但我感到困惑,因为 PHP
我已经按照 this answer 安装了 phpcs ,并将以下内容添加到我的 Visual Code settings.json: { "phpcs.enable": true,
是否有任何选项可以将 phpcs 修复程序结果的输出存储到文件中? 我试过下面的 phpcs --standard='Symfony' -a 'path' --report-file='~/Users
我在 phpcs.xml 中定义了一些嗅探,如下所示: 我的意图是以细化的方式逐渐收紧 CS 规则(还有更多排除项)。 但是,当我尝试运行 CBF 时,它因相同的嗅探名称而失败: $ .
我尝试为 WordPress 实现一个插件,并使用 phpcs 和 WordPress 标准。 就我而言,问题在于 phpcs 的默认 WordPress 标准也会检查 WordPress-VIP,这
我有一个自定义的 phpcs 规则集文件,我在其中包含了几个规则集,还从某些目录(如测试或供应商)中排除了文件。 完整的 phpcs.xml 配置文件位于 https://github.com/sud
我有一个自定义的 phpcs 规则集文件,我在其中包含了几个规则集,还从某些目录(如测试或供应商)中排除了文件。 完整的 phpcs.xml 配置文件位于 https://github.com/sud
我们在项目中使用 PSR0、PSR1 和 PSR2 标准,但我想从 PSR0 命名空间检查规则中排除特定文件。有没有办法可以在文件中添加注释,所以 phpcs 会忽略这条规则: 每个类必须在至少一个级
PHP 代码嗅探器 phpcs: Can not correctly run the tool with parameters: C:\Users\sa\AppData\Local\Temp\___0
我正在尝试运行 PHP CodeSniffer,但出现错误。 PHP Code Sniffer phpcs: Can not correctly run the tool with parameter
我的 TestMyClass.php 在同一个文件(单元测试类)中有两个类定义,PHP Code Sniffer 提示每个类必须单独在一个文件中 .我怎样才能抑制这个警告? class MyCla
我现在已经花了 2 个多小时试图弄清楚如何在方法声明的同一行中要求 {,而不是默认要求在下一行。我怎样才能完成这个?我已将 PSR2 标准复制到一个名为 PSR2 的新文件夹中,以便能够根据自己的喜好
我是一名优秀的程序员,十分优秀!