人工编制 / 编码规范
人工编制编码规范
Requires
- php: >=7.1
- automattic/vipwpcs: 2.0.0
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.0
- fig-r/psr2r-sniffer: ^0.5.0
- phpcompatibility/phpcompatibility-wp: ^2.0.0
- squizlabs/php_codesniffer: ~3.5
- wp-coding-standards/wpcs: 2.3.0
Requires (Dev)
- phpunit/phpunit: ^7
- dev-master
- v2.x-dev
- v1.2.1
- v1.2.0
- v1.1.x-dev
- v1.1.3
- 1.1.2.x-dev
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.x-dev
- v1.0.2
- v1.0.1
- v1.0.0
- v0.8.x-dev
- v0.8.1
- v0.8.0
- v0.7.0
- v0.6.0
- v0.5.0
- v0.4.2
- v0.4.1
- v0.4.0
- 0.3.0
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.0
- dev-upgrade-wpcs
- dev-phpcs-standards-org-phpcs
- dev-resolve-peer-dependancy-range
- dev-jsx-prefer-double-quotes
- dev-dependabot/npm_and_yarn/http-cache-semantics-4.1.1
- dev-dependabot/npm_and_yarn/json5-1.0.2
- dev-dependabot/npm_and_yarn/packages/eslint-config-humanmade/json5-1.0.2
- dev-dependabot/npm_and_yarn/packages/eslint-config-humanmade/json5-and-tsconfig-paths-2.2.3
- dev-move-dev-dependencies
- dev-dependabot/npm_and_yarn/packages/eslint-config-humanmade/minimatch-3.1.2
- dev-wip-changelog-updates
- dev-move-eslint-dev-dependencies
- dev-remove-prefer-no-devdeps-rule
- dev-update-dependencies
- dev-update-eslint-packages
- dev-use-babel-eslint-parser
- dev-stylelint-tests
- dev-remove-use-in-alphabetical-order-rule
- dev-try/phive
- dev-ternary-sniff
- dev-disallow-use-function
This package is auto-updated.
Last update: 2024-09-02 18:08:09 UTC
README
这是人工编制风格指南的编码化版本。我们包括 phpcs、ESLint 和 stylelint 规则。
贡献
我们欢迎对这些标准做出贡献,并希望使体验尽可能无缝。有关贡献的更多信息,请参阅 CONTRIBUTING.md 文件。
设置
每个规则集都可以通过 Composer 或 NPM 单独使用。要安装所需的规则集,请使用以下命令之一
- PHPCS:
composer require --dev humanmade/coding-standards
- ESLint:
npx install-peerdeps --dev @humanmade/eslint-config@latest
- stylelint:
npm install --save-dev stylelint @humanmade/stylelint-config
使用 PHPCS
运行以下命令以运行标准检查
vendor/bin/phpcs --standard=vendor/humanmade/coding-standards .
我们使用 DealerDirect phpcodesniffer-composer-installer 包来处理 PHPCS 的 installed_paths
,当首次安装 HM 规则集时。如果您遇到诸如 ERROR: Referenced sniff "WordPress-Core" does not exist
的错误,请删除 composer.lock
文件和 vendor
目录,然后重新安装 Composer 依赖项。
这里的最后一个 .
指定了要测试的文件;这通常是当前目录(.
),但您也可以通过指定它们来选择性检查文件或目录。
您可以将此添加到您的 Travis YAML 文件中作为测试
script: - phpunit - vendor/bin/phpcs --standard=vendor/humanmade/coding-standards .
排除文件
此标准包括对 .phpcsignore
文件的特殊支持(将来,这应该被 集成到 phpcs 本身)。只需在根目录中放置一个 .phpcsignore
文件(您将从那里运行 phpcs
)。
此文件的格式类似于 .gitignore
和类似文件:每行一个模式,注释行应以 #
开头,仅包含空白的行将被忽略
# Exclude our tests directory.
tests/
# Exclude any file ending with ".inc"
*\.inc
注意,模式应与 PHP_CodeSniffer 风格 匹配:为方便起见,将 *
转换为 .*
,但所有其他字符都像正则表达式一样工作。
模式相对于 .phpcsignore
文件所在的目录。在加载时,它们将被转换为绝对模式:例如,在 /your/dir/.phpcsignore
中的 */tests/*
将成为正则表达式 /your/dir/.*/tests/.*
。 这与常规 PHP_CodeSniffer 实践不同。
高级/扩展
如果您想添加更多规则(例如 WordPress.com VIP 特定规则)或自定义 PHPCS 默认值,您可以创建自己的自定义标准文件(例如 phpcs.ruleset.xml
)
<?xml version="1.0"?> <ruleset> <!-- Files or directories to check --> <file>.</file> <!-- Path to strip from the front of file paths inside reports (displays shorter paths) --> <arg name="basepath" value="." /> <!-- Set a minimum PHP version for PHPCompatibility --> <config name="testVersion" value="7.2-" /> <!-- Use HM Coding Standards --> <rule ref="vendor/humanmade/coding-standards" /> <!-- Add VIP-specific rules --> <rule ref="WordPress-VIP" /> </ruleset>
然后您可以在运行 phpcs 时引用此文件
vendor/bin/phpcs --standard=phpcs.ruleset.xml .
排除/禁用检查
您还可以自定义规则,以排除不适用于项目的元素
<rule ref="vendor/humanmade/coding-standards"> <!-- Disable short array syntax --> <exclude name="HM.Debug.ForceShortArray" /> </rule>
规则也可以在行内禁用。phpcs 规则可以通过// @codingStandardsIgnoreLine
注释禁用,而 ESLint 规则可以通过/* eslint disable ... */
注释禁用。
要找出这些代码的含义,在运行 phpcs
时指定 -s
,代码将被输出。您可以使用完整代码,或部分代码来禁用错误组。
包含的检查
phpcs 标准基于来自 WordPress 编码规范 的 WordPress-VIP
标准,并进行了 定制和补充,以符合我们的风格指南。
使用 ESLint
ESLint 包包含一个 ESLint 配置,您可以使用它来验证您的 JavaScript 代码风格。虽然可以通过 phpcs 运行 ESLint,但我们建议您直接通过 npm 安装和使用 eslint 或使用 linter-bot。有关如何配置 ESLint 以使用 Human Made 编码规范的信息,请参阅 @humanmade/eslint-config
包的 README。
一旦您已安装 @humanmade/eslint-config
npm 包,您只需指定您的项目级别的 ESLint 文件扩展了 humanmade
配置。如果您全局安装(npm install -g @humanmade/eslint-config
),您也可以通过 eslint -c humanmade .
从命令行直接引用配置。
或者,您也可以创建自己的配置并扩展这些规则
.eslintrc
{ "extends": "@humanmade" }
使用 stylelint
stylelint 包包含一个 stylelint 配置,您可以使用它来验证您的 CSS 和 SCSS 代码风格。我们建议您直接通过 npm 安装和使用 stylelint 或使用 linter-bot。有关如何配置 stylelint 以使用 Human Made 编码规范的信息,请参阅 @humanmade/stylelint
包的 README。
要将 Human Made 规则集成到您的项目中,添加一个 .stylelintrc
文件并扩展这些规则。您也可以添加自己的规则和覆盖以进行进一步的定制。
{ "extends": "@humanmade/stylelint-config", "rules": { ... } }