[TOC]
# 使用 PHP-CS-Fixer 格式化代码
## 项目安装 php-cs-fixer
进入到项目的 `php` 目录下:
```shell
git fetch
git rebase
// 重新安装依赖
composer install
//composer require friendsofphp/php-cs-fixer --dev
```
## 编辑 composer.json
1. 把 `.php_cs.dist` 文件放在和 `composer.json` 同一级目录
2. 添加 composer 脚本命令
~~~
"scripts": {
"fix": "php-cs-fixer fix --config=./.php_cs.dist"
}
~~~
## 命令行使用 php-cs-fixer 格式化代码
进入到项目的 `php` 目录下:
```shell
// ./src/xxx/xxx.php 要格式化文件的路径
// 如果不指定文件,默认会把整个 php/src 底下的所有 php 文件格式化
composer fix ./src/xxx/xxx.php
```
## 使用 phpstorm 配置 php-cs-fixer
### phpstorm 配置格式化代码快捷键
一、进入 `Settings -> Tools -> External Tools`,点击 `+` 添加外部工具,并填写如图参数:

```
Name: php-cs-fixer
Program: $ProjectFileDir$/php/vendor/bin/php-cs-fixer.bat
Arguments: fix --config=$ProjectFileDir$/php/.php_cs.dist $FileDir$/$FileName$
Working director: $ProjectFileDir$/php
```
二、进入 `Settings -> Keymap -> External Tools`,找到 `php-cs-fixer`,右键添加快捷键(第一项):

在弹出的窗口的输入框按下按键 `Alt + L`,如图:

保存配置后,返回编辑器,在当前编辑的 php 文件按下 `Alt + L` 即可格式化当前文件。
### phpstorm 配置自动格式化代码(看个人需求)
一、`Settings -> Tools -> File Watchers`,点击 `+` 创建自定义文件监听:

在弹出的窗口填写 `Name: php-cs-fixer`,并自定义 `scope`,如图:


设置文件监听执行命令:

```
Program: composer
Arguments: fix $FileDir$/$FileName$
Working directory: $ProjectFileDir$/php
```
保存设置后,编辑器更改 php 代码文件后,编辑器失去焦点或者自动保存,会自动执行代码格式化。
## 参考链接
[PHP-CS-Fixer 官方仓库](https://github.com/FriendsOfPHP/PHP-CS-Fixer)
[PHPStorm 设置 PHP-CS-Fixer](https://www.jetbrains.com/help/phpstorm/using-php-cs-fixer.html)
[PSR-1 基础编码规范(中文)](https://learnku.com/docs/psr/basic-coding-standard/1605)
[PSR-1 基础编码规范(英文)](https://www.php-fig.org/psr/psr-1/)
[PSR-2 编码风格规范(中文,已废弃)](https://learnku.com/docs/psr/psr-2-coding-style-guide/1606)
[PSR-2 编码风格规范(英文,已废弃)](https://www.php-fig.org/psr/psr-2/)
[PSR-12 编码规范扩充(中文)](https://learnku.com/docs/psr/psr-12-extended-coding-style-guide/5789)
[PSR-12 编码规范扩充(英文)](https://www.php-fig.org/psr/psr-12/)
# PHP 注释规范