首页 > 工具箱 > PHP 格式化

PHP 代码格式化

先做词法分析,再只改 token 之间的空白——token 本身一个字符都不动,所以格式化前后代码语义必然一致,不会出现「美化完跑不起来」的情况。字符串、heredoc、注释里的内容原样保留。

能做和不能做的

  • 不会改坏代码。输出是把原来的 token 按新规则重新拼一遍,中间只有空白变化。压缩时会检查相邻 token 会不会粘成新符号(比如 ++ 粘成 ++// 粘成注释),该留的空格一定留。
  • 不做换行策略。超长的链式调用、数组字面量不会自动折行——那属于风格决策,交给 PHP-CS-Fixer 或 IDE 更合适。这里只解决「缩进乱了、空格不统一」。
  • 模板式写法支持有限。if (…): … endif; 这种替代语法不会被识别成代码块,缩进不会跟着走。混了大量 HTML 的模板文件建议别用压缩。
  • 压缩 PHP 的收益很小。PHP 是服务端执行的,压缩既不省带宽也不加速(opcache 缓存的是编译后的 opcode,跟源码长度无关)。真正的用途是混进单文件发布或者去掉注释。
  • 相关:Shell 格式化JS 格式化SQL 格式化HTML 格式化代码转图片