lkrms / pretty-php
有偏见的PHP代码格式化器
Requires
- php: >=7.4
- composer-runtime-api: ^2.2
- ext-json: *
- ext-mbstring: *
- ext-tokenizer: *
- salient/cli: ^0.99
- salient/collections: ^0.99
- salient/console: ^0.99
- salient/contracts: ^0.99
- salient/core: ^0.99
- salient/phpdoc: ^0.99
- salient/polyfills: ^0.99
- salient/utils: ^0.99
- sebastian/diff: ^4 || ^5
Requires (Dev)
- dev-main
- v0.4.72
- v0.4.71
- v0.4.70
- v0.4.69
- v0.4.68
- v0.4.67
- v0.4.66
- v0.4.65
- v0.4.64
- v0.4.63
- v0.4.62
- v0.4.61
- v0.4.60
- v0.4.59
- v0.4.58
- v0.4.57
- v0.4.56
- v0.4.55
- v0.4.54
- v0.4.53
- v0.4.52
- v0.4.51
- v0.4.50
- v0.4.49
- v0.4.48
- v0.4.47
- v0.4.46
- v0.4.45
- v0.4.44
- v0.4.43
- v0.4.42
- v0.4.41
- v0.4.40
- v0.4.39
- v0.4.38
- v0.4.37
- v0.4.36
- v0.4.35
- v0.4.34
- v0.4.33
- v0.4.32
- v0.4.31
- v0.4.30
- v0.4.29
- v0.4.28
- v0.4.27
- v0.4.26
- v0.4.25
- v0.4.24
- v0.4.23
- v0.4.22
- v0.4.21
- v0.4.20
- v0.4.19
- v0.4.18
- v0.4.17
- v0.4.16
- v0.4.15
- v0.4.14
- v0.4.13
- v0.4.12
- v0.4.11
- v0.4.10
- v0.4.9
- v0.4.8
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.24
- v0.3.23
- v0.3.22
- v0.3.21
- v0.3.20
- v0.3.19
- v0.3.18
- v0.3.17
- v0.3.16
- v0.3.15
- v0.3.14
- v0.3.13
- v0.3.12
- v0.3.11
- v0.3.10
- v0.3.9
- v0.3.8
- v0.3.7
- v0.3.6
- v0.3.5
- v0.3.4
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2
- v0.1.13
- v0.1.12
- v0.1.11
- v0.1.10
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-cleanup
This package is auto-updated.
Last update: 2024-09-22 04:59:45 UTC
README
pretty-php
是一个快速、确定性的、最少配置的PHP代码格式化器。
通过负责您的代码中的空白,pretty-php
使您更容易关注内容,提供随着时间的推移积累的时间和精力节省。
由 pretty-php
格式化的代码产生最小的差异,并且无论您正在处理哪个项目,外观都相同,消除了视觉上的不和谐,并提高了代码审查的速度和效率。
您可以将 pretty-php
作为独立的工具使用,从您的 编辑器 运行,与lint工具搭配使用,或将其添加到您的CI工作流程中。在每种情况下,配置都是可选的。
如果您有任何问题或反馈,我很乐意 听取您的意见。
pretty-php
尚未稳定,因此更新可能会引入影响您的代码的格式化更改。
特性
- 支持为 PHP 8.3 及以下版本编写的代码(在运行可以解析它的PHP版本时)
- 代码格式化以 可读性、一致性 和 小差异 为目标
- 在少数 例外 的情况下,忽略先前的格式化,并且除了空白之外,原始文件中的任何内容都不会更改
- 直接在文件上格式化整个文件
- 格式化选项故意有限(《pretty-php》有偏见,因此您不需要)
- 支持通过简单的JSON文件进行配置,但不是必需的
- 使用PHP的嵌入式标记器来解析输入并验证输出
- 格式化代码和原始代码进行比较以检查等价性
- 输出可选地符合 PSR-12 和 PER(详细信息请见 此处)
安装
要求
- Linux、macOS 或 Windows
- PHP 8.3、8.2、8.1、8.0 或 7.4,带有启用的标准
tokenizer
、mbstring
和json
扩展
PHP存档(PHAR)
pretty-php
以PHP存档的形式分发,您可以下载并运行
wget -O pretty-php.phar https://github.com/lkrms/pretty-php/releases/latest/download/pretty-php.phar
php pretty-php.phar --version
PHAR 可以被设置为可执行
chmod +x pretty-php.phar
./pretty-php.phar --version
通过GitHub分发的官方发布版本是经过签名的,可以按以下方式进行验证
wget -O pretty-php.phar https://github.com/lkrms/pretty-php/releases/latest/download/pretty-php.phar wget -O pretty-php.phar.asc https://github.com/lkrms/pretty-php/releases/latest/download/pretty-php.phar.asc gpg --recv-keys 0xE8CC5BC780B581F2 gpg --verify pretty-php.phar.asc pretty-php.phar
也支持使用 PHIVE 进行安装,PHIVE可以自动验证PHAR发布
phive install lkrms/pretty-php
./tools/pretty-php --version
不建议将 lkrms/pretty-php
添加到您的项目作为Composer依赖项
Arch Linux
Arch Linux用户可以从AUR安装 pretty-php
。例如,如果您首选的AUR辅助工具是 yay
yay -S pretty-php
macOS
macOS上的Homebrew用户可以使用以下命令安装 pretty-php
,如果需要,该命令会自动启用 lkrms/misc
brew install lkrms/misc/pretty-php
使用
安装后,使用 pretty-php
开始的方式很简单,就是给它一些格式化的内容。例如,要格式化 bootstrap.php
和 src
目录中的任何PHP文件
pretty-php bootstrap.php src
要查看不实际替换任何文件会发生什么,请添加 --diff
选项
pretty-php --diff bootstrap.php src
有关详细信息的使用信息,请参阅 使用说明 或运行
pretty-php --help
编辑器集成
- Visual Studio Code 中的 pretty-php
官方VS Code扩展
Visual Studio Marketplace | Open VSX注册表 | 仓库
实用主义
pretty-php
通常遵循自己的规则("忽略之前的格式,原始文件中除了空白以外的内容不变"),但偶尔会在此处作出例外并记录。
-
保留换行符
大多数运算符、分隔符和括号相邻的换行符从输入复制到输出。使用
-N/--ignore-newlines
来禁用此行为。 -
字符串和数字被标准化
除非替代方案更短或需要反斜杠转义,否则优先使用单引号字符串。使用
-S/--no-simplify-strings
和-n/--no-simplify-numbers
来禁用或修改此行为。 -
别名/导入语句按字母顺序分组和排序
使用-M/--no-sort-imports
或-m/--sort-imports-by
来禁用或修改此行为。 -
如有必要,将注释移动到正确的相邻标记位置
重新定位的DocBlocks作为预防措施转换为标准C样式注释。使用
--disable=move-comments
来禁用此行为。 -
代码旁边的注释不会移动到下一行
-
注释被修剪并对齐
-
删除空的DocBlocks
许可
本项目根据 MIT许可 许可。