【发布时间】:2021-11-21 20:32:58
【问题描述】:
我正在尝试将 php-cs-fixer 与 WordPress 项目一起使用,这意味着我(不幸的是)有混合了 PHP 和 HTML 的文件。我正在使用@PSR12 规则集。
我无法在 PHP 控制结构中正确缩进 HTML。以 sn-p 为例:
<?php if (!empty($related_posts)) : ?>
<div class="module--related_posts alignfull has-2-columns has-hover-state slider-on-mobile">
<h3 class="has-text-align-center">Related <?= esc_html($title) ?></h3>
</div>
<?php endif ?>
php-cs-fixer 将其重新格式化为:
<?php if (!empty($related_posts)) : ?>
<div class="module--related_posts alignfull has-2-columns has-hover-state slider-on-mobile">
<h3 class="has-text-align-center">Related <?= esc_html($title) ?>
</h3>
</div>
<?php endif ?>
注意结束 h3 标记已移至新行,if 语句正文中的第一级缩进已被删除。
h3 问题我可以忍受,因为如果我将开始标签放在单独的行上,这个问题就解决了:
<h3 class="has-text-align-center">
Related <?= esc_html($title) ?>
</h3>
...但是 if 语句中缺少缩进会让我头疼。for 和 while 语句也会发生同样的事情。
php-cs-fixer 中是否有一个我忽略的规则可以解决这个问题?
【问题讨论】:
标签: php php-cs-fixer