coffreo / php-cs-fixer-config
为 friendsofphp/php-cs-fixer 提供一个配置工厂和多个 Coffreo 规则集。
v2.3.1
2020-10-24 20:21 UTC
Requires
- friendsofphp/php-cs-fixer: ^2.10.3
Requires (Dev)
- phpunit/phpunit: ^5.7.5
Conflicts
- sebastian/comparator: 1.2.2
README
所有荣誉归 localheinz/php-cs-fixer-config
。
此项目是带有 Coffreo 规则和一些更改的分支,
- 以添加头部模板功能
- 添加读取 composer.json 数据以满足头部模板的功能
- 在测试中处理多个版本的
php-cs-fixer
此仓库为 friendsofphp/php-cs-fixer
提供一个配置工厂和多个 Coffreo 规则集。
安装
运行
$ composer require --dev coffreo/php-cs-fixer-config
使用方法
配置
选择一个规则集
Coffreo\PhpCsFixer\Config\RuleSet\Php54
(包含迁移 5.6 规则)Coffreo\PhpCsFixer\Config\RuleSet\Php54To56
(仅包含迁移 5.6 规则)Coffreo\PhpCsFixer\Config\RuleSet\Php56
Coffreo\PhpCsFixer\Config\RuleSet\Php70
Coffreo\PhpCsFixer\Config\RuleSet\Php71
Coffreo\PhpCsFixer\Config\RuleSet\Php72
📒 所有配置(除 Php54To56
外)包含 @Symfony
和 @PSR2
规则。
在项目根目录创建一个配置文件 .php_cs
<?php use Coffreo\PhpCsFixer\Config; // read composer $composer = json_decode(file_get_contents(__DIR__."/composer.json")); if (null === $composer) { throw new \Exception('Composer.json invalid. CS-Fixer aborted.'); } $header = Config\HeaderHelper::coffreo(compact("composer")); $config = Config\Factory::fromRuleSet( // CHOOSE YOUR RULE SET HERE new Config\RuleSet\Php54($header) ); $config->getFinder()->in(__DIR__.'/src'); $config->setCacheFile(__DIR__.'/.php_cs.cache'); return $config;
Git
将 .php_cs.cache
(这是由 php-cs-fixer
创建的缓存文件)添加到 .gitignore
vendor/
.php_cs.cache
Makefile(可选)
创建一个带有 cs
目标的 Makefile
.PHONY: composer cs composer: composer validate composer install cs: composer vendor/bin/php-cs-fixer fix --config=.php_cs --diff --verbose
💡 这可以通过其他脚本启动器(npm run ..
或 composer run-script ..
)完成
开发者命令
当更新此项目时需要了解的少量命令
$ make test # run PHPUnit test suite
$ make cs # Apply CS to source code (THIS MUST BE DONE BEFORE PUSHING)
$ make # lazy ? execute both above commands
常见问题解答
- 我已经安装了所有内容,但它仍然警告说有一些规则不存在。
你得到这个错误信息是因为
friendsofphp/php-cs-fixer
的版本与所选规则集不兼容。有两个潜在的原因
- 确保你的规则集与你的 PHP 版本兼容(56 对 5.6,70 对 7.0 等...)
- 检查你的 composer.json,看看是否有
config.platform
键。它应该是未定义的或根据你的 PHP 版本有正确值。此配置键的存在强制 composer 安装与由此键定义的 PHP 版本相关的 cs-fixer 版本,忽略真实的当前 PHP 版本。)