visual-craft / php-cs-fixer-config
friendsofphp/php-cs-fixer 的配置
v0.4.0
2023-12-21 10:40 UTC
Requires
- php: ^7.4 || ^8.0
- friendsofphp/php-cs-fixer: ^3.34
- kubawerlos/php-cs-fixer-custom-fixers: ^3.16
- pedrotroller/php-cs-custom-fixer: ^2.28
Requires (Dev)
- ergebnis/composer-normalize: ^2.25
- vimeo/psalm: ^4.22
README
为 friendsofphp/php-cs-fixer 提供配置工厂和多个规则集。
安装
运行
$ composer require --dev visual-craft/php-cs-fixer-config
使用方法
配置
选择一个规则集
VisualCraft\PhpCsFixerConfig\RuleSet\Php74VisualCraft\PhpCsFixerConfig\RuleSet\Php80VisualCraft\PhpCsFixerConfig\RuleSet\Php81VisualCraft\PhpCsFixerConfig\RuleSet\Php82VisualCraft\PhpCsFixerConfig\RuleSet\Php83
在项目根目录创建配置文件 .php-cs-fixer.dist.php
<?php declare(strict_types=1); use VisualCraft\PhpCsFixerConfig; $finder = PhpCsFixer\Finder::create() ->in(__DIR__ . '/src') ->append([ __DIR__ . '/.php-cs-fixer.dist.php', ]) ; $config = PhpCsFixerConfig\Factory::fromRuleSet(new PhpCsFixerConfig\RuleSet\Php83()); $config ->setFinder($finder) ->setCacheFile(__DIR__ . '/.php-cs-fixer.cache') ; return $config;
带有覆盖规则的配置
可选地通过传入要合并的规则数组来覆盖规则集的规则
<?php
declare(strict_types=1);
use VisualCraft\PhpCsFixerConfig;
$finder = PhpCsFixer\Finder::create()
->in(__DIR__ . '/src')
->append([
__DIR__ . '/.php-cs-fixer.dist.php',
])
;
-$config = PhpCsFixerConfig\Factory::fromRuleSet(new PhpCsFixerConfig\RuleSet\Php83());
+$config = PhpCsFixerConfig\Factory::fromRuleSet(new PhpCsFixerConfig\RuleSet\Php83(), [
+ 'strict_comparison' => false,
+]);
$config
->setFinder($finder)
->setCacheFile(__DIR__ . '/.php-cs-fixer.cache')
;
return $config;
Composer 脚本
如果您喜欢 composer 脚本,请向 composer.json 添加脚本
{
"name": "foo/bar",
"require": {
"php": "^7.4",
},
"require-dev": {
"visual-craft/php-cs-fixer-config": "*"
+ },
+ "scripts": {
+ "cs-check": "vendor/bin/php-cs-fixer fix --dry-run --diff -v --ansi",
+ "cs-fix": "vendor/bin/php-cs-fixer fix --diff -v --ansi"
}
}
运行
$ composer cs-fix
以自动修复编码标准违规。
运行
$ composer cs-check
以自动显示编码标准违规。
鸣谢
由 Visual Craft 开发,受 ergebnis/php-cs-fixer-config 启发。
许可证
本项目采用 MIT 许可证。