unleashedtech / php-coding-standard
Unleashed Technologies使用的CodeSniffer规则集
v3.1.1
2021-10-20 20:36 UTC
Requires
- php: ^7.1 || ^8.0
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.0
- slevomat/coding-standard: ^7.0.1
- squizlabs/php_codesniffer: ^3.6.0
Requires (Dev)
- symfony/phpunit-bridge: ^5.1
This package is auto-updated.
Last update: 2024-08-26 16:38:23 UTC
README
Unleashed Technologies的PHP编码标准,最初基于doctrine/coding-standard。
概述
此编码标准基于PSR-1和PSR-2,并基于Symfony、Doctrine和更广泛社区的实践,有一些显著的例外/差异/扩展。
- 尽可能保持方法中控制结构的嵌套最小
- 在连接运算符周围添加空格
$foo = 'Hello ' . 'World!';
- 在赋值、控制和返回语句之间添加空格
- 在返回类型声明中的冒号后添加空格
function (): void {}
- 在类型转换后添加空格
$foo = (int) '12345';
- 使用单引号包围字符串
- 始终使用严格比较
- 始终在文件开头添加
declare(strict_types=1)
- 尽可能使用原生类型
- 对于原生类型参数/返回值,省略phpDoc,除非添加描述
- 不要使用
@author
、@since
和类似的注释,这些注释会重复Git信息 - 在不需要参数的新实例中创建时使用括号
$foo = new Foo()
- 使用空合并运算符
$foo = $bar ?? $baz
- 使用空安全对象运算符
$foo = $object?->property
- 优先使用早期退出而不是嵌套条件或使用else
- 始终使用完全限定全局函数(不需要
use function
语句) - 禁止使用
\DateTime
有关执行规则的完整参考,请参阅src/Unleashed/ruleset.xml
,其中每个嗅探器都有简要描述。
安装
您可以将Unleashed编码标准作为项目中的Composer依赖项安装
composer require --dev unleashedtech/php-coding-standard
然后您可以使用它如下
vendor/bin/phpcs --standard=Unleashed /path/to/some/files.php
您还可以使用phpcbp
自动查找并修复任何违规行为
vendor/bin/phpcbf --standard=Unleashed /path/to/some/files.php
项目级规则集
要为项目启用Unleashed编码标准,创建一个包含以下内容的phpcs.xml.dist
文件
<?xml version="1.0"?> <ruleset> <arg name="basepath" value="."/> <arg name="extensions" value="php"/> <arg name="parallel" value="80"/> <arg name="cache" value=".phpcs-cache"/> <arg name="colors"/> <!-- Ignore warnings, show progress of the run and show sniff names --> <arg value="nps"/> <!-- Directories to be checked --> <file>src</file> <file>tests</file> <!-- Include full Unleashed Coding Standard --> <rule ref="Unleashed"/> </ruleset>
这将启用完整的Unleashed编码标准,包括所有默认规则。从现在起,您可以只需运行vendor/bin/phpcs
和vendor/bin/phpcbf
而不需要任何参数。
不要忘记将.phpcs-cache
和phpcs.xml
(不带.dist
后缀)添加到您的.gitignore
中。第一个被忽略的文件是PHP CodeSniffer用于加速的缓存,第二个允许任何开发者本地调整配置而不修改版本化的文件。