如何部分禁用 PHPCS 的 PSR-12 declare(strict_types=1) 检查?
How can I Partially disable PHPCS' PSR-12 declare(strict_types=1) checks?
我目前 运行 php vendor/bin/phpcs --standard=PSR12 src
在我的几个项目中 CI。
他们已经失败 6 个多月了,因为我的代码组织如下:
<?php declare(strict_types=1);
/**
* This file is part of SimpleDTO, a PHP Experts, Inc., Project.
*
* Copyright © 2019 PHP Experts, Inc.
* Author: Theodore R. Smith <theodore@phpexperts.pro>
* GPG Fingerprint: 4BF8 2613 1C34 87AC D28F 2AD8 EB24 A91D D612 5690
* https://www.phpexperts.pro/
* https://github.com/phpexpertsinc/SimpleDTO
*
* This file is licensed under the MIT License.
*/
namespace PHPExperts\SimpleDTO;
它目前生成几个 PHPCS 警告:
--------------------------------------------------------------------------------------------
FOUND 3 ERRORS AFFECTING 2 LINES
--------------------------------------------------------------------------------------------
1 | ERROR | [x] Header blocks must be separated by a single blank line
1 | ERROR | [x] Opening PHP tag must be on a line by itself
3 | ERROR | [ ] The file-level docblock must follow the opening PHP tag in the file header
--------------------------------------------------------------------------------------------
有什么方法可以保留其余的 PSR-12 检查但不保留那些?
您有两个选择:
使用 --exclude
命令行参数,它允许您指定您不想担心的嗅探。使用您的示例,它将是 php vendor/bin/phpcs --standard=PSR12 --exclude=PSR12.Files.FileHeader,PSR12.Files.OpenTag src
使用以下设置创建一个 phpcs.xml
文件:
<?xml version="1.0"?>
<ruleset name="Custom Standard" namespace="MyProject\CS\Standard">
<rule ref="PSR12">
<exclude name="PSR12.Files.FileHeader" />
<exclude name="PSR12.Files.OpenTag" />
</rule>
</ruleset>
如果您使用该名称 [1],phpcs.xml
(或 phpcs.xml.dist
)文件将被自动选取,否则使用 --standard
参数指向其文件位置。使用该文件时,您还可以更准确地指定一个嗅探(例如 PSR12.Files.OpenTag.NotAlone
),而您不能使用 --exclude
命令行选项。
我目前 运行 php vendor/bin/phpcs --standard=PSR12 src
在我的几个项目中 CI。
他们已经失败 6 个多月了,因为我的代码组织如下:
<?php declare(strict_types=1);
/**
* This file is part of SimpleDTO, a PHP Experts, Inc., Project.
*
* Copyright © 2019 PHP Experts, Inc.
* Author: Theodore R. Smith <theodore@phpexperts.pro>
* GPG Fingerprint: 4BF8 2613 1C34 87AC D28F 2AD8 EB24 A91D D612 5690
* https://www.phpexperts.pro/
* https://github.com/phpexpertsinc/SimpleDTO
*
* This file is licensed under the MIT License.
*/
namespace PHPExperts\SimpleDTO;
它目前生成几个 PHPCS 警告:
--------------------------------------------------------------------------------------------
FOUND 3 ERRORS AFFECTING 2 LINES
--------------------------------------------------------------------------------------------
1 | ERROR | [x] Header blocks must be separated by a single blank line
1 | ERROR | [x] Opening PHP tag must be on a line by itself
3 | ERROR | [ ] The file-level docblock must follow the opening PHP tag in the file header
--------------------------------------------------------------------------------------------
有什么方法可以保留其余的 PSR-12 检查但不保留那些?
您有两个选择:
使用
--exclude
命令行参数,它允许您指定您不想担心的嗅探。使用您的示例,它将是php vendor/bin/phpcs --standard=PSR12 --exclude=PSR12.Files.FileHeader,PSR12.Files.OpenTag src
使用以下设置创建一个
phpcs.xml
文件:
<?xml version="1.0"?>
<ruleset name="Custom Standard" namespace="MyProject\CS\Standard">
<rule ref="PSR12">
<exclude name="PSR12.Files.FileHeader" />
<exclude name="PSR12.Files.OpenTag" />
</rule>
</ruleset>
如果您使用该名称 [1],phpcs.xml
(或 phpcs.xml.dist
)文件将被自动选取,否则使用 --standard
参数指向其文件位置。使用该文件时,您还可以更准确地指定一个嗅探(例如 PSR12.Files.OpenTag.NotAlone
),而您不能使用 --exclude
命令行选项。