gpt4 book ai didi

php - 如何使用注释抑制 PHPCS 警告?

转载 作者:IT王子 更新时间:2023-10-29 00:56:56 24 4
gpt4 key购买 nike

我的 TestMyClass.php 在同一个文件(单元测​​试类)中有两个类定义,PHP Code Sniffer 提示每个类必须单独在一个文件中 .我怎样才能抑制这个警告?

class MyClassImpl implements MyInterface
{
// ...
}

class MyClassTest extends \PHPUnit_Framework_TestCase
{
// ...
}

最佳答案

您可以使用注释让 PHP_CodeSniffer 忽略特定文件或文件中的行:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#ignoring-files-and-folders

在这种情况下,错误将在您的第二个类定义中生成,因此您必须像这样编写第二个定义:

// @codingStandardsIgnoreStart
class MyClassTest extends \PHPUnit_Framework_TestCase
{
// @codingStandardsIgnoreEnd
// ...
}

但如果不应该检查整个文件,您也可以选择忽略它,使用 @codingStandardsIgnoreFile 注释或在命令行上指定排除项(有关信息,请参阅前面的链接)。

如果您发现自己经常这样做并且不想在代码中添加注释,您还可以创建自己的自定义编码标准。假设您现在正在使用 PSR2 标准,您将创建一个 XML 文件(例如 mystandard.xml)并包含以下内容:

<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom coding standard.</description>
<rule ref="PSR2" />
<rule ref="PSR1.Classes.ClassDeclaration.MultipleClasses">
<severity>0</severity>
</rule>
</ruleset>

然后像这样运行 PHP_CodeSniffer:phpcs --standard=/path/to/mystandard.xml/path/to/code

拥有自己的规则集可以让您做很多事情,包括更改错误消息、更改消息的严重性或类型(包括来自其他标准的检查以及设置全局忽略规则)。更多信息在这里:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml

关于php - 如何使用注释抑制 PHPCS 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16039362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com