<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PHP-CS-Fixer on Leanku 的博客</title><link>https://www.leanku.com/tags/php-cs-fixer/</link><description>Recent content in PHP-CS-Fixer on Leanku 的博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 10 Aug 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.leanku.com/tags/php-cs-fixer/index.xml" rel="self" type="application/rss+xml"/><item><title>composer cs-fix —— 代码风格修复工具 PHP-CS-Fixer</title><link>https://www.leanku.com/post/php/composer-cs-fix-php-cs-fixer/</link><pubDate>Sat, 10 Aug 2024 00:00:00 +0000</pubDate><guid>https://www.leanku.com/post/php/composer-cs-fix-php-cs-fixer/</guid><description>&lt;h1 id="composer-cs-fix--代码风格修复工具-php-cs-fixer"&gt;composer cs-fix —— 代码风格修复工具 PHP-CS-Fixer&lt;/h1&gt;&#10;&lt;h2 id="1-什么是-php-cs-fixer"&gt;1. 什么是 PHP-CS-Fixer？&lt;/h2&gt;&#10;&lt;p&gt;PHP-CS-Fixer 是由 Symfony 创始人 Fabien Potencier 发起的代码风格自动修复工具，是 PHP 生态中最主流的代码风格工具。&lt;/p&gt;&#10;&lt;p&gt;这个工具的核心价值在于：&lt;strong&gt;不仅检测代码风格问题，还能自动修复它们&lt;/strong&gt;。在团队协作中，它能有效消除因个人编码习惯差异导致的风格冲突，让开发者把精力集中在业务逻辑而非格式调整上。&lt;/p&gt;&#10;&lt;p&gt;PHP-CS-Fixer 内置了丰富的规则集，包括：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;@PSR12&lt;/code&gt;：PHP-FIG 官方推荐的最新编码标准&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;@Symfony&lt;/code&gt;：Symfony 框架代码风格&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;@PhpCsFixer&lt;/code&gt;：工具自身使用的严格规范&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;@PER-CS&lt;/code&gt;：现代化 PHP 编码标准&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;@PHP82Migration&lt;/code&gt;：PHP 8.2 迁移规则&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="2-适用场景"&gt;2. 适用场景&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;场景&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;说明&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Git Pre-commit Hook&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;提交前自动格式化暂存文件，阻止风格不合规的代码进入仓库&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;CI/CD 流水线&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;在 Pull Request 中自动检查代码风格，不通过则阻止合并&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;团队协作&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;统一团队成员的编码风格，消除无意义的格式争论&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;遗留项目格式化&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;一键格式化整个代码库，快速建立统一标准&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;IDE 集成&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;在 PhpStorm 等 IDE 中实现保存即格式化&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;最佳实践&lt;/strong&gt;：配置分为两个层级——&lt;code&gt;composer cs-check&lt;/code&gt;（仅检查，不修改）用于 CI 流程；&lt;code&gt;composer cs-fix&lt;/code&gt;（实际修复）用于本地开发。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="3-安装与初始化"&gt;3. 安装与初始化&lt;/h2&gt;&#10;&lt;h3 id="31-通过-composer-安装推荐"&gt;3.1 通过 Composer 安装（推荐）&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;composer require --dev friendsofphp/php-cs-fixer&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果遇到依赖冲突，可以使用官方提供的 Shim 包：&lt;/p&gt;</description></item></channel></rss>