codeigniter/coding-standard

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

v1.8.1 2024-08-05 11:17 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 驱动的 CodeIgniter 官方编码规范。

安装

您可以使用 Composer 将此库作为本地、针对项目的依赖项添加到您的项目中。

composer require codeigniter/coding-standard

如果您只需在开发期间使用此库,例如运行您项目的测试套件,那么您应该将其添加为开发时间依赖项。

composer require --dev codeigniter/coding-standard

设置

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

<?php

use CodeIgniter\CodingStandard\CodeIgniter4;
use Nexus\CsConfig\Factory;

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

此最小设置将返回一个包含适用于 CodeIgniter 组织的所有规则的默认 PhpCsFixer\Config 实例。

然后,在您的终端中,运行以下命令

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

添加许可证头部

默认设置不会在文件中配置许可证头部。许可证头部对于库作者声明版权特别有用。要添加您的姓名和库的名称到 PHP 文件中的许可证头部,您只需提供您的姓名和库的名称。可选的,您也可以提供您的电子邮件和起始许可证年份。

 <?php

 use CodeIgniter\CodingStandard\CodeIgniter4;
 use Nexus\CsConfig\Factory;

-return Factory::create(new CodeIgniter4())->forProjects();
+return Factory::create(new CodeIgniter4())->forLibrary(
+    'CodeIgniter 4 framework',
+    'CodeIgniter Foundation',
+    '[email protected]',
+    2021,
+);

提供覆盖规则和选项

启用规则的列表可以在 CodeIgniter\CodingStandard\CodeIgniter4 类中找到。如果您觉得规则不适用于您或您想修改它,您可以通过向 Factory::create() 的第二个参数提供一个覆盖规则的数组来实现。

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

 <?php

 use CodeIgniter\CodingStandard\CodeIgniter4;
 use Nexus\CsConfig\Factory;

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

您可以通过查看此库自己的 .php-cs-fixer.dist.php 来获得如何实现的灵感。有关所有可用选项的更详细文档,请查看 此处

贡献

所有形式的贡献都欢迎!

由于这里的规则将在 CodeIgniter 组织中传播和使用,因此所有提出的规则和现有规则的修改都应首先发送到 CodeIgniter4 仓库,其中可能包含应用于那里的代码样式的更改。一旦被接受,您可以发送 PR 到这里以应用这些规则。

许可证

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