gpalab/coding-standards

PHP_CodeSniffer 规则(嗅探器)以强制执行 GPA Lab 编码规范

安装: 21

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 4

分支: 0

开放问题: 0

类型:phpcodesniffer-standard

v1.0.1 2022-07-05 20:19 UTC

This package is auto-updated.

Last update: 2024-09-06 01:07:58 UTC


README

这个 PHP CodeSniffer 规则集合有助于确保 GPA Lab 开发和管理的 PHP 项目的连贯性。它有助于保持高质量的代码并标准化团队对 PHP 项目的处理方法。

存储库包含两个规则集

  • GPA Lab 标准 - 适用于任何 PHP 项目的基规则
  • GPA Lab WordPress - WordPress 编码规范规则集的扩展,用于开发 WordPress 插件/主题

规则集

通用项目

GPA Lab 标准规则集是一组适用于任何 PHP 项目的通用规则。为了利用这些标准,您需要在项目中安装以下依赖项

  • gpalab/coding-standards - 此存储库中定义的规则集。
  • squizlabs/php_codesniffer - 一个进行静态代码分析的工具,以识别和修复问题。
  • dealerdirect/phpcodesniffer-composer-installer - 一个 Composer 插件,用于处理 PHP CodeSniffer 的标准注册。

安装这些依赖项的推荐方法是将其添加到项目中 composer.json 文件中列出的开发需求。结果将类似于以下内容

{
  "name": "my-project",
  "require-dev": {
    "gpalab/coding-standards": "v1.0.0",
    "squizlabs/php_codesniffer": "^3.6.2",
    "dealerdirect/phpcodesniffer-composer-installer": "^v0.7.1"
  }
}

完成此操作后,运行 composer install 以将依赖项安装到您的项目中。

安装完成后,您需要确定 PHP Code Sniffer 应该使用哪个规则集。最简单的方法是在项目的根目录中添加一个 PHP Code Sniffer 配置文件,例如 .phpcs.xml。在此文件中,使用 rule 标签通过 GPA-Lab 键引用 GPA Lab 标准规则集。结果将类似于以下内容

<?xml version="1.0"?>
<ruleset name="My Project">

  <!-- List of files/directories to check. -->
  <file>*.php</file>

  <!-- Exclude vendor files from testing. -->
  <exclude-pattern>*/vendor</exclude-pattern>

  <!-- Load the Standard GPA Lab ruleset -->
  <rule ref="GPA-Lab" />

</ruleset>

WordPress 项目

此存储库还包含一个用于 WordPress 项目的规则集(例如插件和主题)。除了标准规则集中的 PHP 最佳实践和样式规则之外,此规则集还包括 WordPress 特定的规则和最佳实践。

安装 WordPress 规则集的过程大致相同。然而,由于我们扩展了 WordPress 规则集,因此您还需要安装以下同伴依赖项:php-compatibilityphpcompatibility-wpwp-coding-standards/wpcs。生成的 composer.json 文件将类似于以下内容

{
  "name": "my-wordpress-project",
  "require-dev": {
    "gpalab/coding-standards": "v1.0.0",
    "squizlabs/php_codesniffer": "^3.7.1",
    "dealerdirect/phpcodesniffer-composer-installer": "^v0.7.1",
    "phpcompatibility/php-compatibility": "*",
    "phpcompatibility/phpcompatibility-wp": "^2.1.3",
    "wp-coding-standards/wpcs": "^2.3.0"
  }
}

您的 PHP Code Sniffer 配置文件将与之前相同,除了您应使用 GPA-Lab-WordPress 引用键而不是 GPA-Lab 键。

<?xml version="1.0"?>
<ruleset name="My WordPress Project">

  <!-- List of files/directories to check. -->
  <file>*.php</file>

  <!-- Exclude vendor files from testing. -->
  <exclude-pattern>*/vendor</exclude-pattern>

  <!-- Load the Standard GPA Lab ruleset -->
  <rule ref="GPA-Lab-WordPress" />

</ruleset>

使用方法

CI

在持续集成环境中运行 PHP Code Sniffer 的最简单方法之一是在测试中添加一个 NPM 脚本。例如

"lint:PHP": "./vendor/bin/phpcs -n",

此脚本要求将 PHP Code Sniffer 安装到项目的 vendor 目录中,因此请确保在执行此命令之前运行 composer installcomposer update

注意: -n 标志表示应省略警告。

VSCode

有许多方法可以将 PHP Code Sniffer 集成到本地 IDE 中。对于 VSCode,我们发现以下两个扩展的组合效果最佳

感谢

该项目对 WordPress 编码规范 项目负有巨大的债务,该项目为我们提供了灵感和一套合理的默认设置,使我们能够在此基础上进行构建。