DevToolPal
简

PHP 代码格式化

用 Prettier 官方 PHP 插件,按 PER 编码规范(PSR-12)美化 PHP 代码。

本地处理,不上传

选项

缩进
大括号位置

输入

0 字符 · 0 B

输出

0 字符 · 0 B

工具简介

PHP 代码格式化工具可以把杂乱、压缩过或缩进不一致的 PHP 代码整理成符合社区规范的整洁代码。它支持现代 PHP 语法,包括类型化属性和只读属性、构造函数属性提升、箭头函数、枚举、match 表达式和注解(attributes)。

底层运行的是 Prettier 加官方 PHP 插件,很多 Laravel 和 Symfony 团队在编辑器和 pre-commit 钩子里用的就是这个组合,所以结果会和你项目里的工具链保持一致。

使用方法

  1. 粘贴 PHP 代码,或打开一个 .php 文件。短小的代码片段可以不写开头的 <?php 标签。
  2. 输入的同时,右侧就会显示格式化后的代码。
  3. 按需调整选项:
    • 缩进:4 个空格是 PSR 规范的要求,也可以选 2 个空格或制表符。
    • 每行宽度:超过宽度的行会在语法允许的位置换行。
    • 大括号位置:类和函数的大括号另起一行(PER / PSR-12),或者放在同一行。
    • PHP 版本:代码需要兼容的最低版本。
    • 使用单引号,以及多行列表是否 加尾随逗号。
  4. 复制或下载结果。

如果代码有语法错误,提示信息会说明解析器期望的内容,以及它停下的行号和列号。

示例

示例是一个挤在一起的 Laravel 风格控制器:分组的 use 语句、属性数组、构造函数属性提升、表单验证调用、写在一行里的 if,以及带箭头函数的 array_map。格式化之后,每个方法的大括号换到单独一行,运算符和 => 两边补上空格,if 的语句体展开,过长的 response()->json() 调用被拆成每行一个数组元素,并加上尾随逗号。

不会改动的内容

格式化只调整排版。它不会重命名变量、调整 use 语句顺序、把 array() 改成短数组语法,也不会修改逻辑。注释(包括 PHPDoc 文档块)都会保留,并跟着周围的代码重新缩进。

小技巧

  • 把每行宽度和 PHP 版本设成和项目里 Prettier 或 PHP-CS-Fixer 配置一样的值,可以避免 diff 里出现无关改动。
  • 从日志或报错堆栈里复制出来的代码片段,格式化之后会好读很多。
  • 在 issue 里分享代码前先格式化一下,评审的人就能专注于代码逻辑。

常见问题

› 遵循的是哪种代码规范?

默认按 PER 编码规范输出,它是 PHP-FIG 发布的 PSR-12 的后续版本。类和方法的大括号另起一行,控制结构的大括号留在同一行,缩进为 4 个空格。

› 为什么要选 PHP 版本?

有些语法只在特定版本之后才合法。例如参数列表里的尾随逗号需要 PHP 8.0,目标版本较老时格式化程序就不会加上。请选择代码需要兼容的最低版本。

› 能格式化 HTML 和 PHP 混写的文件吗?

能。支持带有内联 HTML 和短输出标签的模板文件。其中的 PHP 部分会被格式化,中间的 HTML 保持原样。

› 我的代码会被上传吗?

不会。格式化完全在浏览器里完成,不会向服务器发送任何内容。