phpfmt
Sublime Text 4 的 PHP 格式化工具,支持 PHP 8。
详细信息
安装
- 总计 171K
- Win 109K
- Mac 35K
- Linux 27K
2023年8月6日 | 2023年8月5日 | 2023年8月4日 | 2023年8月3日 | 2023年8月2日 | 2023年8月1日 | 2023年7月31日 | 2023年7月30日 | 2023年7月29日 | 2023年7月28日 | 2023年7月27日 | 2023年7月26日 | 2023年7月25日 | 2023年7月24日 | 2023年7月23日 | 2023年7月22日 | 2023年7月21日 | 2023年7月20日 | 2023年7月19日 | 2023年7月18日 | 2023年7月17日 | 2023年7月16日 | 2023年7月15日 | 2023年7月14日 | 2023年7月13日 | 2023年7月12日 | 2023年7月11日 | 2023年7月10日 | 2023年7月9日 | 2023年7月8日 | 2023年7月7日 | 2023年7月6日 | 2023年7月5日 | 2023年7月4日 | 2023年7月3日 | 2023年7月2日 | 2023年7月1日 | 2023年6月30日 | 2023年6月29日 | 2023年6月28日 | 2023年6月27日 | 2023年6月26日 | 2023年6月25日 | 2023年6月24日 | 2023年6月23日 | 2023年6月22日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 15 | 9 | 8 | 10 | 9 | 11 | 6 | 10 | 5 | 5 | 8 | 22 | 12 | 15 | 14 | 7 | 10 | 9 | 19 | 8 | 7 | 17 | 12 | 4 | 4 | 14 | 18 | 9 | 9 | 16 | 7 | 5 | 6 | 13 | 12 | 20 | 14 | 5 | 8 | 11 | 9 | 17 | 9 | 9 | 7 | 7 |
Mac | 3 | 4 | 0 | 3 | 2 | 3 | 2 | 1 | 1 | 1 | 4 | 3 | 4 | 3 | 3 | 5 | 0 | 2 | 5 | 2 | 5 | 3 | 2 | 1 | 2 | 3 | 1 | 1 | 0 | 4 | 1 | 0 | 2 | 2 | 2 | 2 | 3 | 3 | 4 | 2 | 3 | 1 | 2 | 1 | 2 | 1 |
Linux | 3 | 2 | 1 | 1 | 4 | 6 | 1 | 2 | 1 | 3 | 1 | 5 | 4 | 3 | 5 | 4 | 4 | 4 | 3 | 3 | 2 | 2 | 5 | 1 | 4 | 3 | 2 | 2 | 4 | 2 | 2 | 3 | 1 | 3 | 1 | 1 | 1 | 2 | 1 | 4 | 3 | 3 | 0 | 2 | 4 | 0 |
README
phpfmt 支持适用于 Sublime Text 4 和 PHP 8.x
该项目是 https://github.com/nanch/phpfmt_stable 的克隆版本,增加了 PHP 8 的支持以及多个错误修正,因为原始项目已被废弃。
贡献
如果您发现任何问题,请毫不犹豫地提出 pull request 或 issue。提供尽可能多的信息,包括期望结果的代码示例,以方便查找错误。
安装
要求
- 您必须在本机上运行 PHP,以便运行 Sublime Text
插件在本机上安装了 PHP 5.6 或更高版本时运行
通过软件包管理器安装此插件
- 在 Sublime Text 中按
ctrl+shift+P
- 选择
Package Control: Install Package
- 选择
phpfmt
配置(Windows)
- 编辑配置文件(
%AppData%\Sublime Text\Packages\phpfmt\phpfmt.sublime-nings
) - 对于字段
"php_bin"
,输入 php.exe 的路径。例如:"php_bin":"c:/PHP/php.exe"
配置(OS X 和 Linux)
- 编辑配置文件(
phpfmt.sublime-settings
) - 对于字段
"php_bin"
,输入 php 的路径。例如:"php_bin":"/usr/local/bin/php"
设置
建议使用命令对话框中的切换选项。但是,如果需要设置 PHP 的运行位置,可以使用以下选项进行配置文件。
{
"php_bin":"/usr/local/bin/php",
}
您可以在 https://github.com/driade/phpfmt8/blob/master/driade.sublime-settings 找到示例配置文件。
以下功能可通过命令对话框(ctrl+shift+P
或 cmd+shift+P
)使用
- phpfmt: 现在格式化
- phpfmt: 使用空格缩进
- phpfmt: 切换额外转换
- phpfmt: 切换排除转换
- phpfmt: 切换当 .php.tools.ini 缺失时跳过执行
- phpfmt: 打开或关闭自动完成
- phpfmt: 打开或关闭自动导入依赖
- phpfmt: 打开或关闭保存时格式化
- phpfmt: 打开或关闭 PSR1 - 类和方法名称
- phpfmt: 打开或关闭 PSR1
- phpfmt: 打开或关闭 PSR2
- phpfmt: 打开或关闭 WP 编码规范
- phpfmt: 分析此
- phpfmt: 构建自动完成数据库
- phpfmt: getter 和 setter (驼峰式命名法)
- phpfmt: getter 和 setter (Go)
- phpfmt: getter 和 setter (蛇形命名法)
- phpfmt: 生成 PHPDoc 模块
- phpfmt: 查找 .php.tools.ini
- phpfmt: 重新组织类的內容
- phpfmt: 启用/禁用额外转换
- phpfmt: 故障排除信息
- phpfmt: 更新 PHP 可执行文件路径
目前支持的转换
- 添加括号 - 在新的实例化中添加额外的括号
- 别名到主函数 - 将函数别名替换为其主函数 - 仅基本语法别名
- 对齐常量可见性的“=”垂直对齐可见性和常量块中的“=”
- 对齐双箭头垂直对齐 T_DOUBLE_ARROW (=>)
- 对齐双斜线注释垂直对齐“//”注释
- 对齐“=”垂直对齐“=”
- 按行分组对齐双箭头按行组垂直对齐 T_DOUBLE_ARROW (=>)
- 对齐 PHP 代码对齐 HTML 块内的 PHP 代码
- 对齐类型提示垂直对齐函数类型提示
- 所有曼氏花括号将所有花括号转换为 Allman 标准样式
- 自动预增量自动将后增量转换为预增量
- 自动添加分号在语句结束时添加分号
- 蛋糕PHP样式应用 CakePHP 编码规范
- 类到self在类、trait 或接口中使用“self”更合适
- 类到static在类、trait 或接口中使用“static”更合适
- 转换带有 echo 的开标签从“=”转换为“
- 将注释替换为文档块当文档块的用途为非结构元素时,替换文档块为常规注释
- 从双引号转换为单引号从双引号到单引号
- 从 echo 到 print 从 T_ECHO 转换为 print
- 封装命名空间用花括号封装命名空间
- 自动生成 PHPDoc方块自动生成 PHPDoc 模块
- 缩进三元条件应用缩进到三元条件
- 从 implode() 别名替换 implode() (join() => implode())
- 左对齐单词包装在 80 个字以内进行换行 - 左对齐
- 长数组将短数组转换为长数组
- 合并 else-if合并 if 和 else
- 拆分 else-if合并 if 和 else
- 合并命名空间与开标签确保在命名空间之前没有过多的换行
- 温和的自动预增量自动将后增量转换为预增量(已弃用。请改用 AutoPreincrement)
- 在新行之前返回在 T_RETURN 前添加空行
- 组织类组织类、接口和 trait 结构
- 排序并删除使用情况删除未使用的导入并排序 use 块
- 仅排序 use 块排序 use 块 - 不删除未使用的导入
- 排序方法组织类、接口和 trait 结构
- 排序方法和可见性组织类、接口和 trait 结构
- 将 PHPDoc 类型转换为函数类型提示从 PHPDoc 模块中读取变量类型并将它们添加到函数签名中
- 格式化 Doc Blocks格式化 Doc 模块
- PSR2EmptyFunction将空函数的 body 与函数头合并到同一行
- PSR2MultilineFunctionParams将函数参数拆分为多行
- 重新缩进和定位对象操作对齐对象运算符
- 重新缩进 switch 块将 switch 块的内容缩进一级更深
- 重新缩进枚举块将枚举块的内容缩进一级更深
- 删除 include 声明中的括号从 include 声明中删除括号
- 删除花括号后面的分号从闭合花括号之后删除分号
- 删除 T_USE 导入中的前导斜线删除 T_USE 导入中的前导斜线
- 替换布尔和或从“and”/“or”替换为“&&”/“||”。危险!此操作可能导致行为变化
- 替换 is_null 替换 is_null($a) 为 null === $a。
- 恢复注释撤消对注释内容的任何格式化操作
- 返回 null 简化空返回
- 短数组将旧数组转换为新数组 (array() => [])
- 智能行后始终打开在添加隐式花括号块时添加行断
- 排序使用名称空间按长度和字母顺序组织 use 子句
- 在控制结构周围添加空间在控制结构周围添加空间
- 在感叹号后添加空间在感叹号后添加空格
- 括号内加空格 SpaceAroundParentheses
- 感叹号周围加空格 SpaceAroundExclamationMark
- 方法之间加空格 SpaceBetweenMethods
- 严格行为 在 array_search, base64_decode, in_array, array_keys, mb_detect_encoding 中激活严格选项。危险!这个操作会导致行为变化。StrictBehavior
- 严格比较 所有比较都转换为严格。危险!这个操作会导致行为变化。StrictComparison
- 删除数组中的额外逗号 StripExtraCommaInArray
- 删除类打开大括号之后的空行 StripNewlineAfterClassOpen
- 删除打开大括号之后的空行 StripNewlineAfterCurlyOpen
- 删除类体内部的大括号之后的空行 StripNewlineWithinClassBody
- 删除所有空格 StripSpaces
- 删除控制结构内部的空行 StripSpaceWithinControlStructures
- 紧缩连接 Ensure string concatenation does not have spaces, except when close to numbers. TightConcat
- 删除分号前面的空格 TrimSpaceBeforeSemicolon
- 升级到 preg 将 ereg* 调用升级为 preg* UpgradeToPreg
- 换行 WordWrap
- 更新旧构造函数名称为新的名称WrongConstructorName https://www.php.ac.cn/manual/en/language.oop5.decon.php
- 执行 Yoda 比 较 YodaComparisons
它是什么意思?What does it do?
之前 Before | 之后 After |
|
|
|
可以通过选项“enable_auto_align”启用This can be enabled with the option “enable_auto_align”
|
|
注意如何排序使用语句,并删除未使用的一些语句note how it sorts the use clauses, and removes unused ones
|
它是什么意思? - PSR 版本What does it do? - PSR version
之前 Before | 之后 After |
|
注意缩进为4个空格Note the identation of 4 spaces.
|
|
注意大括号的位置,以及在方法a()中的可见性调整Note the braces position, and the visibility adjustment in the method a().
|
|
注意如何排序使用语句,并删除未使用的一些语句note how it sorts the use clauses, and removes unused ones
|
故障排除 Troubleshooting
- 确保您可以从命令行运行PHPBe sure you can run PHP from the command line.
- 如果您需要支持,请在 fmt 问题 中打开一个问题If you need support, please open an issue at fmt issues
致谢 Acknowledgements
- GoSublime - 更新格式化缓冲区的功能GoSublime - for the method to update the formatted buffer
- Google的diff match patch - http://code.google.com/p/google-diff-match-patch/