consistence-community / coding-standard
Consistence - 编码标准 - PHP代码规范规则
3.11.3
2023-03-27 14:55 UTC
Requires
- php: ~8.0
- slevomat/coding-standard: ~8.0
- squizlabs/php_codesniffer: ~3.7.0
Requires (Dev)
- phing/phing: 2.17.0
- php-parallel-lint/php-parallel-lint: 1.3.1
- phpunit/phpunit: 9.5.10
Replaces
- consistence/coding-standard: 3.10.*
README
此包是consistence/coding-standard
的分支,由社区维护,以支持新的PHP版本。
完整的标准在单独的文档中描述.
这是一个自定义编码标准,适用于所有Consistence项目。它也适合用于任何其他项目或作为您自己标准的基石。
本标准的重点目标是
- 严格的(且可预测)代码。
- 防止常见错误。
- 可读性高于可写性(字符数)。
- 对差异友好 - 最小化更改的影响。
- 不要编写不必要或不可靠的信息。
自动检查
本标准的自动检查作为PHP_CodeSniffer(phpcs
)的嗅探器实现,但并非所有规则都进行了检查。PHP_CodeSniffer还包含用于自动修正某些错误的工具 phpcbf
,但此工具也不是100%可靠的 - 由它产生的结果可能不符合此标准。
这些检查还包括一些代码分析工具,如检测不可达代码等。这些不是标准的一部分,但应该是有帮助的。
稳定性
此包使用SemVer,以下为规则。
编码标准文档应被视为SemVer的真理来源和主要对象。
MAJOR
版本将在文档中添加新规则时增加。MINOR
版本将在实现检查现有描述规则的新嗅探器时增加。PATCH
版本将在修复错误时增加 - 修复错误被认为是所有不符合文档的内容 - 这甚至可能导致(暂时性)禁用一个现有的嗅探器 - 或其一部分,直到有更好的检查或它被正确修复。
自动检查的实现(包括自定义嗅探器和ruleset.xml文件)不受SemVer的约束,并且可能随着PHP_CodeSniffer和提供的默认嗅探器的更改而随时间变化,这些嗅探器也由本标准使用。
对此包的推荐依赖项是MINOR
版本(例如~1.0.0
),这意味着实际上
- 不会添加新规则。
- 可能会添加新的自动检查。
- 您将获得现有自动检查的修复,或者如果发现回归,某些检查可能会被禁用。
安装与使用
使用Composer安装包consistence-community/coding-standard
composer require --dev consistence-community/coding-standard
然后使用此标准运行phpcs
vendor/bin/phpcs --standard=vendor/consistence-community/coding-standard/Consistence/ruleset.xml --extensions=php --encoding=utf-8 -sp src
有关进一步使用选项,请参阅PHP_CodeSniffer文档。