acquia/coding-standards

Acquia编码标准的PHP_CodeSniffer规则(sniffs)

安装次数: 3,301,881

依赖者: 23

建议者: 0

安全: 0

星标: 19

关注者: 12

分支: 13

语言:Shell

类型:phpcodesniffer-standard

v3.0.1 2024-07-11 20:08 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License Tests

Acquia PHP编码标准是一组PHP_CodeSniffer规则(sniffs),用于Acquia PHP项目的编码标准,包括Drupal扩展。

规则

Acquia PHP编码标准包括以下规则集的sniffs选择

规则集

根据项目 框架受众 将规则分为规则集

  • 针对Drupal社区的项目的,例如Drupal模块,应采用Drupal规则集。所有其他项目应采用(更通用的)PHP规则集。
  • 公开项目,例如开源Drupal模块,应采用非严格规则集以促进外部协作。所有其他项目应采用更具意见的内部规则集。

这些建议有四种组合方式,导致可以选择四个规则集

  • AcquiaDrupalMinimal基于Drupal编码标准,适用于所有公开的Drupal项目。
  • AcquiaDrupalStrict基于AcquiaDrupal,并增加了更具意见的DrupalPractice标准。适用于所有内部Drupal项目。
  • AcquiaPHPMinimal基于PSR-12,适用于所有公开的非Drupal项目。
  • AcquiaPHPStrict基于AcquiaPHP,并增加了额外的、更具意见的标准。适用于所有内部的非Drupal项目。

安装与使用

  1. 通过Composer将Acquia PHP编码标准添加到您的项目中

    composer require --dev acquia/coding-standards
  2. 通知PHP CodeSniffer标准和其依赖项的位置

    • 强烈建议您使用Composer插件来处理此操作,例如 DealerDirect/phpcodesniffer-composer-installer

      composer config extra.phpcodesniffer-search-depth 4
      composer require --dev dealerdirect/phpcodesniffer-composer-installer
    • 或者,将脚本添加到您的composer.json中处理

      {
          "scripts": {
              "post-install-cmd": "@install-coding-standards",
              "post-update-cmd" : "@install-coding-standards",
              "install-coding-standards": "\"vendor/bin/phpcs\" --config-set installed_paths vendor/acquia/coding-standards/src/Standards,vendor/drupal/coder/coder_sniffer,vendor/phpcompatibility/php-compatibility,vendor/slevomat/coding-standard"
          }
      }
  3. 检查代码是否符合标准

    ./vendor/bin/phpcs --standard=AcquiaDrupalStrict --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md,yml path/to/code

    自动修复任何可能的标准违规

    ./vendor/bin/phpcbf --standard=AcquiaDrupalStrict --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md,yml path/to/code

    必须使用--extensions参数匹配选择的代码标准。对于AcquiaPHP,使用--extensions=php,inc,test,css,txt,md,yml

  4. 可选地为您的项目创建一个默认配置文件,这样您就不必每次都提供命令行参数(例如,如下所示)。这里有一个工作示例:example/phpcs.xml.dist

    ./vendor/bin/phpcs

    修改phpcs.xml.dist以适应您的项目,特别是设置首选的代码标准和匹配的扩展。

  5. 可选地,将代码检查添加到您的Git预提交钩子中,以防止提交违反规则的代码。由于克隆仓库时不会复制客户端Git钩子,您可能希望使用如BrainMaestro/composer-git-hooks之类的自动化解决方案来管理它们,例如:example/composer.json

  6. 可选地,在PhpStorm或您选择的IDE或代码编辑器中配置PHP Code Sniffer集成。您可以导入example/PhpStormInspections.xml以设置新项目的默认集成。当您第一次打开或创建新项目时,PhpStorm应该会自动检测并基于这些默认值设置PHPCS检查。您只需在项目检查设置中取消选中“已安装的标准路径”,以便PhpStorm可以找到Acquia编码标准。

贡献

欢迎贡献!请参阅CONTRIBUTING.md

许可证

版权所有(C)2019 Acquia,Inc。

本程序是自由软件:您可以按照自由软件基金会发布的GNU通用公共许可证第2版(以下简称“许可证”)的条款重新分发和/或修改它。

本程序以希望它可能对您有用的目的进行分发,但没有任何保证;甚至没有适销性或特定用途的隐含保证。有关详细信息,请参阅GNU通用公共许可证。