friendsofphp / php-cs-fixer
自动修复PHP代码格式的工具
Requires
- php: ^7.4 || ^8.0
- ext-filter: *
- ext-json: *
- ext-tokenizer: *
- clue/ndjson-react: ^1.0
- composer/semver: ^3.4
- composer/xdebug-handler: ^3.0.3
- fidry/cpu-core-counter: ^1.0
- react/child-process: ^0.6.5
- react/event-loop: ^1.0
- react/promise: ^2.0 || ^3.0
- react/socket: ^1.0
- react/stream: ^1.0
- sebastian/diff: ^4.0 || ^5.0 || ^6.0
- symfony/console: ^5.4 || ^6.0 || ^7.0
- symfony/event-dispatcher: ^5.4 || ^6.0 || ^7.0
- symfony/filesystem: ^5.4 || ^6.0 || ^7.0
- symfony/finder: ^5.4 || ^6.0 || ^7.0
- symfony/options-resolver: ^5.4 || ^6.0 || ^7.0
- symfony/polyfill-mbstring: ^1.28
- symfony/polyfill-php80: ^1.28
- symfony/polyfill-php81: ^1.28
- symfony/process: ^5.4 || ^6.0 || ^7.0
- symfony/stopwatch: ^5.4 || ^6.0 || ^7.0
Requires (Dev)
- facile-it/paraunit: ^1.3 || ^2.3
- infection/infection: ^0.29.5
- justinrainbow/json-schema: ^5.2
- keradus/cli-executor: ^2.1
- mikey179/vfsstream: ^1.6.11
- php-coveralls/php-coveralls: ^2.7
- php-cs-fixer/accessible-object: ^1.1
- php-cs-fixer/phpunit-constraint-isidenticalstring: ^1.5
- php-cs-fixer/phpunit-constraint-xmlmatchesxsd: ^1.5
- phpunit/phpunit: ^9.6.19 || ^10.5.21 || ^11.2
- symfony/var-dumper: ^5.4 || ^6.0 || ^7.0
- symfony/yaml: ^5.4 || ^6.0 || ^7.0
Suggests
- ext-dom: For handling output formats in XML
- ext-mbstring: For handling non-UTF8 characters.
- dev-master
- v3.64.0
- v3.63.2
- v3.63.1
- v3.63.0
- v3.62.0
- v3.61.1
- v3.61.0
- v3.60.0
- v3.59.3
- v3.59.2
- v3.59.1
- v3.59.0
- v3.58.1
- v3.58.0
- v3.57.2
- v3.57.1
- v3.57.0
- v3.56.2
- v3.56.1
- v3.56.0
- v3.55.0
- v3.54.0
- v3.53.0
- v3.52.1
- v3.52.0
- v3.51.0
- v3.50.0
- v3.49.0
- v3.48.0
- v3.47.1
- v3.47.0
- v3.46.0
- v3.45.0
- v3.44.0
- v3.43.1
- v3.43.0
- v3.42.0
- v3.41.1
- v3.41.0
- v3.40.2
- v3.40.1
- v3.40.0
- v3.39.1
- v3.39.0
- v3.38.2
- v3.38.1
- v3.38.0
- v3.37.1
- v3.37.0
- v3.36.0
- v3.35.1
- v3.35.0
- v3.34.1
- v3.34.0
- v3.33.1
- v3.33.0
- v3.32.1
- v3.32.0
- v3.31.0
- v3.30.0
- v3.29.0
- v3.28.0
- v3.27.0
- v3.26.1
- v3.26.0
- v3.25.1
- v3.25.0
- v3.24.0
- v3.23.0
- v3.22.0
- v3.21.3
- v3.21.2
- v3.21.1
- v3.21.0
- v3.20.0
- v3.19.2
- v3.19.1
- v3.19.0
- v3.18.0
- v3.17.0
- v3.16.0
- v3.15.1
- v3.15.0
- v3.14.5
- v3.14.4
- v3.14.3
- v3.14.2
- v3.14.1
- v3.14.0
- v3.13.2
- v3.13.1
- v3.13.0
- v3.12.0
- v3.11.0
- v3.10.0
- v3.9.6
- v3.9.5
- v3.9.4
- v3.9.3
- v3.9.2
- v3.9.1
- v3.8.0
- v3.7.0
- v3.6.0
- v3.5.0
- v3.4.0
- v3.3.2
- v3.3.1
- v3.3.0
- v3.2.1
- v3.2.0
- v3.1.0
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v3.0.0-rc.1
- v3.0.0-beta.2
- v3.0.0-beta.1
- v2.19.3
- v2.19.2
- v2.19.1
- v2.19.0
- v2.18.7
- v2.18.6
- v2.18.5
- v2.18.4
- v2.18.3
- v2.18.2
- v2.18.1
- v2.18.0
- v2.17.5
- v2.17.4
- v2.17.3
- v2.17.2
- v2.17.1
- v2.17.0
- v2.16.10
- v2.16.9
- v2.16.8
- v2.16.7
- v2.16.6
- v2.16.5
- v2.16.4
- v2.16.3
- v2.16.2
- v2.16.1
- v2.16.0
- v2.15.10
- v2.15.9
- v2.15.8
- v2.15.7
- v2.15.6
- v2.15.5
- v2.15.4
- v2.15.3
- v2.15.2
- v2.15.1
- v2.15.0
- v2.14.6
- v2.14.5
- v2.14.4
- v2.14.3
- v2.14.2
- v2.14.1
- v2.14.0
- v2.13.3
- v2.13.2
- v2.13.1
- v2.13.0
- v2.12.12
- v2.12.11
- v2.12.10
- v2.12.9
- v2.12.8
- v2.12.7
- v2.12.6
- v2.12.5
- v2.12.4
- v2.12.3
- v2.12.2
- v2.12.1
- v2.12.0
- v2.11.2
- v2.11.1
- v2.11.0
- v2.10.5
- v2.10.4
- v2.10.3
- v2.10.2
- v2.10.1
- v2.10.0
- v2.9.3
- v2.9.2
- v2.9.1
- v2.9.0
- v2.8.4
- v2.8.3
- v2.8.2
- v2.8.1
- v2.8.0
- v2.7.5
- v2.7.4
- v2.7.3
- v2.7.2
- v2.7.1
- v2.7.0
- v2.6.1
- v2.6.0
- v2.5.1
- v2.5.0
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.20
- v2.2.19
- v2.2.18
- v2.2.17
- v2.2.16
- v2.2.15
- v2.2.14
- v2.2.13
- v2.2.12
- v2.2.11
- v2.2.10
- v2.2.9
- v2.2.8
- v2.2.7
- v2.2.6
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.1
- v2.0.0
- v2.0.0-RC
- v2.0.0-beta
- v2.0.0-alpha
- v1.13.3
- v1.13.2
- v1.13.1
- v1.13.0
- v1.12.4
- v1.12.3
- v1.12.2
- v1.12.1
- v1.12.0
- v1.11.8
- v1.11.7
- v1.11.6
- v1.11.5
- v1.11.4
- v1.11.3
- v1.11.2
- v1.11.1
- v1.11
- v1.10.3
- v1.10.2
- v1.10.1
- v1.10
- v1.9.3
- v1.9.2
- v1.9.1
- v1.9
- v1.8.1
- v1.8
- v1.7.1
- v1.7
- v1.6.2
- v1.6.1
- v1.6
- v1.5.2
- v1.5.1
- v1.5
- v1.4.2
- v1.4.1
- v1.4
- v1.3
- v1.2
- v1.1
- v1.0
- v0.5.7
- v0.5.6
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.0
- dev-release_notes_template
This package is auto-updated.
Last update: 2024-09-19 10:32:53 UTC
README
PHP编码规范修复器
PHP编码规范修复器(PHP CS Fixer)工具可以将您的代码修复为遵循标准;无论是想遵循PSR-1、PSR-2等PHP编码标准,还是其他社区驱动的标准,如Symfony。您还可以通过配置定义您(团队)的风格。
它可以使您的代码现代化(例如将PHP 5.6中的pow
函数转换为**
运算符)并(微)优化它。
如果您已经使用代码检查器来识别代码中的编码规范问题,您知道手动修复它们是枯燥的,尤其是在大型项目中。此工具不仅可以检测它们,还可以为您修复它们。
支持的PHP版本
- PHP 7.4
- PHP 8.0
- PHP 8.1
- PHP 8.2
- PHP 8.3
注意 每个新的PHP版本都需要巨大的努力来支持新的语法。这就是为什么最新的PHP版本可能尚未得到支持。如果您需要它,请考虑以任何方便的方式支持该项目,例如通过代码贡献或审查现有的PR。要在不受支持的版本上运行PHP CS Fixer,请“自行承担风险” - 利用PHP_CS_FIXER_IGNORE_ENV。
文档
安装
安装PHP CS Fixer的推荐方式是使用Composer,在您的项目中的专用composer.json
文件中,例如在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运行
您可以使用预构建的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 讨论区中就项目、配置、可能的改进、想法和问题与我们联系。请访问那里!
贡献
该工具自带了许多内置修复器,但非常欢迎每个人贡献更多修复器。