You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用php-cs-fixer时PHP控制结构内HTML不缩进问题如何解决

解决方案

首先确认你的php-cs-fixer版本 >= 3.14.0,该版本之后官方新增了专门处理PHP/HTML混写场景缩进的规则,调整你的.php-cs-fixer.dist.php配置如下:

<?php

$finder = PhpCsFixer\Finder::create()
    ->in(__DIR__)
    // 如果有纯模板文件也可以单独指定路径
;

return (new PhpCsFixer\Config())
    ->setRules([
        '@PSR12' => true,
        // 开启HTML混写缩进支持
        'html_indentation' => true,
        // 调整braces规则,避免控制结构替代语法后的顶层HTML缩进被重置
        'braces' => [
            'position_after_control_structures' => 'same',
        ],
    ])
    ->setFinder($finder)
;

配置更新后重新运行格式化,if/for/while等控制结构内的HTML第一层缩进就会正常保留。

如果你的php-cs-fixer版本较低无法升级,可以将大量混写HTML的模板文件加入格式化排除列表,单独使用支持PHP混写的HTML格式化工具处理这类文件的缩进,避免和php-cs-fixer的规则冲突。

内容的提问来源于stack exchange,提问作者gregdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:54:02