gpalab / coding-standards
PHP_CodeSniffer 规则(嗅探器)以强制执行 GPA Lab 编码规范
Requires
- php: ^7.2 || ^8.0
- phpcsstandards/phpcsextra: ^1.0
- squizlabs/php_codesniffer: ^3.7.1
Suggests
- phpcompatibility/php-compatibility: Required when using the GPA-Lab-WordPress standard
- phpcompatibility/phpcompatibility-wp: Required when using the GPA-Lab-WordPress standard
- wp-coding-standards/wpcs: Required when using the GPA-Lab-WordPress standard
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-compatibility、phpcompatibility-wp 和 wp-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 install 或 composer update。
注意: -n 标志表示应省略警告。
VSCode
有许多方法可以将 PHP Code Sniffer 集成到本地 IDE 中。对于 VSCode,我们发现以下两个扩展的组合效果最佳
感谢
该项目对 WordPress 编码规范 项目负有巨大的债务,该项目为我们提供了灵感和一套合理的默认设置,使我们能够在此基础上进行构建。