codeigniter / coding-standard
基于 PHP CS Fixer 的 CodeIgniter 官方编码规范
Requires
- php: ^8.1
- ext-tokenizer: *
- friendsofphp/php-cs-fixer: ^3.61.1
- nexusphp/cs-config: ^3.24
Requires (Dev)
- nexusphp/tachycardia: ^2.3
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^10.5 || ^11.2
README
此库包含基于 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 许可证下开源的。