php-collective/code-sniffer

PhpCollective 代码检查器标准

安装: 65,170

依赖者: 6

建议者: 0

安全性: 0

星标: 1

关注者: 1

分支: 0

开放问题: 2

类型:phpcodesniffer-standard

0.2.7 2024-08-05 13:52 UTC

This package is auto-updated.

Last update: 2024-09-05 18:49:12 UTC


README

CI Latest Stable Version Minimum PHP Version PHPStan License Total Downloads

此检查器包完全遵循 PSR-2 并附带大量额外的修复器(包括 PSR-12)。有关详细信息,请参阅 PhpCollective 编码规范。

包含的检查项列表。

文档

查看 文档

上游文档:squizlabs/PHP_CodeSniffer/wiki

使用方法

如何在项目中使用

请确保将检查器作为 require-dev 依赖项包含

composer require --dev php-collective/code-sniffer

然后在项目的根目录中设置一个 phpcs.xml 文件,例如。

<?xml version="1.0"?>
<ruleset name="your-app-name">
    <file>src/</file>
    <file>tests/</file>

    <rule ref="vendor/php-collective/code-sniffer/PhpCollective/ruleset.xml"/>

    <!-- Here you can add more or also silence existing ones -->
</ruleset>

如何在任何项目中使用

您可以手动调用 phpcs/phpcbf 命令

vendor/bin/phpcs
vendor/bin/phpcbf

命令 phpcs 仅进行检查,phpcbf 进行修复。

建议设置 composer 脚本来使用快捷方式

"scripts": {
    "cs-check": "phpcs -nps",
    "cs-fix": "phpcbf -nps"
}

然后您可以使用 composer cs-ccomposer cs-f,无需担心缩写。

标准

您始终可以将标准切换到更严格的名为 PhpCollectiveStrict 的标准。它是 PhpCollective 标准的扩展,在顶部添加了它自己的(严格)检查项。

如何包含到您的 IDE 中

例如,对于 PHPStorm

  • 打开设置 -> 工具 -> 外部工具
  • 添加一个名为 "cs-sniffer" 的新工具,设置程序为 $ProjectFileDir$/vendor/bin/phpcs,参数为 --standard=$ProjectFileDir$/vendor/php-collective/code-sniffer/PhpCollective/ruleset.xml -p $FilePath$,工作目录为 $ProjectFileDir$
  • 添加一个名为 "cs-fixer" 的新工具,设置程序为 $ProjectFileDir$/vendor/bin/phpcbf,参数为 --standard=$ProjectFileDir$/vendor/php-collective/code-sniffer/PhpCollective/ruleset.xml -v $FilePath$,工作目录为 $ProjectFileDir$
  • 如果您不想在这里看到修复器的任何输出,请删除 "打开控制台"。
  • 现在在设置 -> 快捷键映射(搜索 cs-sniffer 和 cs-fixer)下设置您的快捷键。例如,Control + Comma 用于检查,Control + Dot 用于修复。

您还可以设置文件监视器,但在这里您最好只将某些仅添加内容而不删除内容的检查项列入白名单。

如何配置默认规则集

为了简化命令行界面,phpcs 允许通过以下方式指定 默认规则集标准路径

假设以下目录结构

vendor/php-collective/code-sniffer/                          # Base directory
                           |_ PhpCollective/                # Rule set name
                                      |_ ruleset.xml  # Rule set

现在可以使用基本目录和规则集进行配置。

vendor/bin/phpcs --config-set installed_paths vendor/php-collective/code-sniffer/
vendor/bin/phpcs --config-set default_standard PhpCollective

您可能需要指定完整的目录路径。现在工具可以在不使用 --standard 开关的情况下使用。

请确保您将 PhpCollective 核心标准规则集包含在您的自定义规则集中,例如。

<?xml version="1.0"?>
<ruleset name="PhpCollectiveProject">
    <description>
        PhpCollective Coding Standard for Project.
        Extends main PhpCollective Coding Standard.
        All sniffs in ./Sniffs/ will be auto loaded
    </description>

    <rule ref="vendor/php-collective/code-sniffer/PhpCollective/ruleset.xml"/>

    <!-- Define your own sniffs here -->
</ruleset>

如果您想在项目中使用 PhpCollectiveStrict 标准的话,应该将以下字符串

<rule ref="vendor/php-collective/code-sniffer/PhpCollective/ruleset.xml"/>

替换为这个

<rule ref="vendor/php-collective/code-sniffer/PhpCollectiveStrict/ruleset.xml"/>