我正在尝试对一个WordPress项目使用php-cs-fixer,这意味着我(不幸的)有一个混合了PHP和HTML的文件。我使用的是@PSR12规则集。
我在让PHP控制结构中的HTML正确缩进时遇到了问题。以下面的示例片段为例:
<?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中有没有我忽略的规则可以解决这个问题?
发布于 2021-11-28 11:49:41
不是一个真正的答案,但我最终只是切换到PHP_CodeSniffer来解决这个问题。
https://stackoverflow.com/questions/70058354
复制相似问题