blitz-php/coding-standard

Blitz PHP 的官方编码规范,基于 PHP CS Fixer

1.4.0 2023-10-17 13:52 UTC

This package is auto-updated.

Last update: 2024-09-19 12:55:21 UTC


README

Unit Tests Coding Standards PHPStan Static Analysis PHPStan level Coverage Status Latest Stable Version License Total Downloads

这个库包含了基于 PHP CS Fixer 和由 Nexus CS Config 驱动的 Blitz-PHP 的官方编码规范。规则灵感来源于 CodeIgniter

安装

您可以使用 Composer 将此库作为项目依赖项添加到您的项目中

composer require blitz-php/coding-standard

如果您只需要在开发过程中使用此库,例如运行项目测试套件,那么您需要将其添加为开发依赖项

composer require --dev blitz-php/coding-standard

配置

首先,在您的项目根目录下创建一个 .php-cs-fixer.dist.php 文件。

<?php

use BlitzPHP\CodingStandard\Blitz;
use Nexus\CsConfig\Factory;

return Factory::create(new Blitz())->forProjects();

此最小配置将返回一个包含所有适用规则默认 PhpCsFixer\Config 实例的配置。然后,在您的终端中运行以下命令:

$ vendor/bin/php-cs-fixer fix --verbose

添加许可证头

默认配置不会在文件中配置许可证头。许可证头对于库的作者来说可能非常有用,以主张版权。要为您的 PHP 文件添加许可证头,您只需提供您的姓名和库的名称。作为可选操作,您还可以提供您的电子邮件地址和许可证开始年份。

 <?php

 use BlitzPHP\CodingStandard\Blitz;
 use Nexus\CsConfig\Factory;

-return Factory::create(new Blitz())->forProjects();
+return Factory::create(new Blitz())->forLibrary(
+    'Blitz-PHP framework',
+    'Blitz-PHP Foundation',
+    'contact@blitz-php.com',
+    2022,
+);

提供规则和优先选项

激活的规则列表位于类 BlitzPHP\CodingStandard\Blitz 中。如果您认为某个规则不适用于您或您想修改它,您可以通过提供新的规则表单来修改 Factory::create() 的第二个参数。

同样,您可以通过使用可用的选项来进一步修改返回的 PhpCsFixer\Config 实例。所有可用的选项都由 Nexus CS Config 完全支持,并且只需在 Factory::create() 的第三个参数中提供键值对数组即可总结。

 <?php

 use BlitzPHP\CodingStandard\Blitz;
 use Nexus\CsConfig\Factory;

-return Factory::create(new Blitz())->forProjects();
+return Factory::create(new Blitz(), [], [
+    'usingCache' => false,
+])->forProjects();

您可以查看此库的自身 .php-cs-fixer.dist.php 以获得灵感。有关所有可用选项的更详细文档,您可以在此处查看 这里

贡献

欢迎所有形式的贡献!

鉴于这里的规则将在 Blitz-PHP 组织内部传播和使用,因此所有提出的规则和现有规则所做的更改都必须首先以概念证明 (POC) 的形式发送到 Blitz-PHP 的存储库,并可能修改其中的代码风格。一旦被接受,您就可以发送一个 PR 来应用这些规则。

许可证

此作品是在 MIT 许可证下开源的。