PHP 编码标准修复器(PHP CS Fixer)工具修复您的代码以遵循标准;无论您想要遵循 PSR-1、PSR-2 等中定义的 PHP 编码标准,还是其他社区驱动的标准(例如 Symfony 标准)。您还可以通过配置来定义您(团队)的风格。
它可以使您的代码现代化(例如将pow
函数转换为 PHP 5.6 上的**
运算符)并对其进行(微观)优化。
如果您已经在使用 linter 来识别代码中的编码标准问题,您就会知道手动修复它们是乏味的,尤其是在大型项目中。该工具不仅可以检测它们,还可以为您修复它们。
注意每个新的 PHP 版本都需要付出巨大的努力来支持新语法。这就是为什么最新的 PHP 版本可能不受支持的原因。如果您需要,请考虑以任何方便的方式支持该项目,例如贡献代码或审查现有 PR。要在尚不支持的版本上运行 PHP CS Fixer,“风险由您自行承担” - 利用 PHP_CS_FIXER_IGNORE_ENV。
安装 PHP CS Fixer 的推荐方法是在项目中的专用composer.json
文件中使用 Composer,例如在tools/php-cs-fixer
目录中:
mkdir -p tools/php-cs-fixer
composer require --working-dir=tools/php-cs-fixer friendsofphp/php-cs-fixer
或者使用主composer.json
:
composer require --dev friendsofphp/php-cs-fixer
有关更多详细信息和其他安装方法,请参阅安装说明。
您可以使用预构建的 Docker 映像来运行php-cs-fixer
。
docker run -it --rm -v $(pwd):/code ghcr.io/php-cs-fixer/php-cs-fixer:${FIXER_VERSION:-3-php8.3} fix src
上面示例中使用的$FIXER_VERSION
是您要使用的版本的标识符,它基于 Fixer 和 PHP 版本的组合。每个 Fixer 的 SemVer 级别和 PHP 版本都有不同的标签,语法为<php-cs-fixer-version>-php<php-version>
。例如:
3.57.0-php7.4
3.57-php8.0
3-php8.3
假设您按照上面的说明安装了 PHP CS Fixer,您可以运行以下命令来修复src
目录中的 PHP 文件:
tools/php-cs-fixer/vendor/bin/php-cs-fixer fix src
有关更多详细信息,请参阅用法、内置规则列表、规则集列表和配置文件文档。
如果您需要应用该工具不支持的代码样式,您可以创建自定义规则。
专用插件用于:
PHP CS Fixer 在 GitHub 上维护:https://github.com/PHP-CS-Fixer/PHP-CS-Fixer。欢迎错误报告和有关新功能的想法。
您可以在 GitHub 讨论中联系我们,了解项目、配置、可能的改进、想法和问题。请访问我们那里!
该工具附带了相当多的内置修复程序,但非常欢迎每个人贡献更多修复程序。