stickee / php-cs-fixer-config

stickee的PHP CS Fixer配置

v2.6.0 2024-08-12 15:09 UTC

README

为stickee项目提供PHP CS Fixer配置。

安装

mkdir -p tools/php-cs-fixer
composer require --working-dir=tools/php-cs-fixer stickee/php-cs-fixer-config
cp tools/php-cs-fixer/vendor/stickee/php-cs-fixer-config/dist/.php-cs-fixer.dist.php .php-cs-fixer.dist.php

您必须提交这个新目录和.php-cs-fixer.dist.php配置文件。

您必须将.php-cs-fixer.cache添加到您的.gitignore文件中。

为什么我们要将PHP CS Fixer安装到自己的目录中?

用法

tools/php-cs-fixer/bin/php-cs-fixer fix

覆盖

您可以通过在.php-cs-fixer.dist.php文件中添加到$overrideRules数组中来覆盖任何规则或添加您自己的规则。

有关可用规则及其选项的详细描述,请参阅此处

示例

这已经为您完成,使用了ordered_class_elements规则,该规则已重置为PSR12use_traits值。

这已被添加,以帮助PR审查者仅查看在检查您的项目时已更改的内容,而不是重新排序的元素。

一旦您确认您的项目已正确检查,您可以移除此覆盖以使用此规则的stickee设置,这些设置更严格且排序更多元素。

预提交钩子

您可以使用PHP CS Fixer与HuskyLint Staged一起使用,以仅检查git暂存的PHP文件。

安装

  • Husky安装到您的项目中
  • Lint Staged安装到您的项目中
  • cp tools/php-cs-fixer/vendor/stickee/php-cs-fixer-config/dist/.husky/pre-commit .husky/pre-commit
  • cp tools/php-cs-fixer/vendor/stickee/php-cs-fixer-config/dist/.lintstagedrc.json .lintstagedrc.json

持续集成

tools/php-cs-fixer/vendor/stickee/php-cs-fixer-config/dist/.github/workflows/php-cs-fixer.yaml中包含了GitHub操作文件的示例。

这将在PR及其新提交上运行PHP CS Fixer。

理论上这不是必要的,因为开发人员应使用上面提到的预提交钩子来检查他们的代码,但这确保了即使开发人员跳过了预提交钩子,PR中也包含已检查的代码。

规则

可用的RuleSets可在tools/php-cs-fixer/vendor/stickee/php-cs-fixer-config/src/RuleSet/中找到。

您可以通过在.php-cs-fixer.dist.php文件中[ctrl] + 点击类来获取它。

网络描述(更美观)

您可以使用https://mlocati.github.io/php-cs-fixer-configurator/#version:3.2https://cs.symfony.com/doc/rules/index.html来查看规则执行了什么操作。

CLI描述(更快)

或者,您可以运行tools/php-cs-fixer/vendor/bin/php-cs-fixer describe <rule-or-set-name>

致谢

https://github.com/Visual-Craft/php-cs-fixer-config

它提供了关于如何为PHP CS Fixer创建自定义配置的灵感,因为没有任何内置方法可以做到这一点。

stickeerehan

因为他的早期工作在PHP代码风格上,所以我不必从头开始。

"supermarket mobiles"的开发者

为了审查我们使用的规则所涉及的众多PR(Pull Requests)。

#codestyle Slack频道的成员

关心代码风格。