asispts/ptscs

带有附加严格规则的PSR-12编码标准

安装: 2 999

依赖项: 2

建议者: 0

安全性: 0

星标: 2

关注者: 2

分支: 0

开放问题: 2

类型:phpcodesniffer-standard

v2.1.0 2023-11-10 14:12 UTC

This package is auto-updated.

Last update: 2024-09-10 16:13:42 UTC


README

ptscs

» 带有附加严格规则的PSR-12编码标准 «

Build

安装使用显著的编码标准贡献许可

 

ptscs是一个遵循PSR-12并附加严格规则的PHP_CodeSniffer编码标准。它的目的是帮助开发者在代码库中保持一致性和可读性,并鼓励最佳实践。

安装

您可以使用composer进行安装

composer require --dev asispts/ptscs

使用

安装后,您可以创建一个phpcs.xml.dist文件来定义您的PHPCS配置,然后配置您的文本编辑器或工作流程,根据此配置进行代码库的代码检查或修复。以下是一个示例的phpcs.xml.dist文件

<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd">

  <arg name="colors"/>
  <arg name="parallel" value="8"/>
  <arg value="psv"/>
  <arg name="extensions" value="php"/>

  <file>src</file>
  <file>tests</file>

  <exclude-pattern>vendor</exclude-pattern>

  <rule ref="ptscs"/>
</ruleset>

您可以使用phpcs来验证源代码是否符合此标准,或使用phpcbf来自动修复任何违规。

要运行phpcs,请执行以下命令

vendor/bin/phpcs

要自动修复任何编码标准违规,请执行以下命令

vendor/bin/phpcbf

排除某些规则

您可以通过修改phpcs.xml.dist文件来排除某些规则。例如,如果您想排除在Symfony项目的src/Entity目录中要求类必须声明为finalabstract的规则,您可以在您的phpcs.xml.dist文件中添加以下内容

<rule ref="SlevomatCodingStandard.Classes.RequireAbstractOrFinal">
    <exclude-pattern>src/Entity</exclude-pattern>
</rule>

这将排除src/Entity目录的RequireAbstractOrFinal规则。您可以根据需要自定义规则和目录。通过排除某些规则,您可以自定义编码标准,使其更好地满足项目需求。

显著的编码标准

如前所述,此编码标准使用PSR-12,并有一些例外和附加的严格规则。以下是一些显著的附加严格规则。

  1. 我们排除了一些PSR-12规则,以允许将declare(strict_types=1)放在PHP开放标签的同一行上。
<?php declare(strict_types=1)
  1. 所有PHP文件都需要包含declare(strict_types=1)
  2. 测试方法名称允许使用snake_case
public function test_something(): void
{
}
  1. 所有类都应声明为finalabstract
// Prohibited.
// Should be declared as either final or abstract
class foobar
{
}
  1. 文件名必须与类名匹配。

完整的规则集可以在RULES.md文件中查看。这些规则旨在促进更清洁、更可读、更易于维护的代码。

贡献

我们欢迎社区以各种形式做出贡献。您可以报告问题、提出改进建议或提交拉取请求。

对于重大更改,强烈建议首先打开一个问题,与项目维护者讨论拟议的更改。

许可

MIT许可证下发布。